From 73ec13310f9254b58538c041b53849921f2c3abe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20L=C3=BCbking?= Date: Fri, 31 Dec 2010 13:44:17 +0000 Subject: [PATCH] update utility window visibility on property change and increase hiding delay - should prevent "mystic" disappearance of gimp utilities svn path=/trunk/KDE/kdebase/workspace/; revision=1210458 --- group.cpp | 1 + workspace.cpp | 8 +++++++- workspace.h | 1 + 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/group.cpp b/group.cpp index 76c0e9685c..bf4f000a99 100644 --- a/group.cpp +++ b/group.cpp @@ -682,6 +682,7 @@ void Client::setTransient( Window new_transient_for_id ) if( isTopMenu()) workspace()->updateCurrentTopMenu(); workspace()->updateClientLayer( this ); + workspace()->resetUpdateToolWindowsTimer(); } } diff --git a/workspace.cpp b/workspace.cpp index 3344b5e48d..700efc4334 100644 --- a/workspace.cpp +++ b/workspace.cpp @@ -1023,7 +1023,13 @@ void Workspace::updateToolWindows( bool also_hide ) } else // setActiveClient() is after called with NULL client, quickly followed // by setting a new client, which would result in flickering - updateToolWindowsTimer.start( 50 ); + resetUpdateToolWindowsTimer(); + } + + +void Workspace::resetUpdateToolWindowsTimer() + { + updateToolWindowsTimer.start( 200 ); } void Workspace::slotUpdateToolWindows() diff --git a/workspace.h b/workspace.h index b0c02ede51..0c371dddeb 100644 --- a/workspace.h +++ b/workspace.h @@ -161,6 +161,7 @@ class Workspace : public QObject, public KDecorationDefines void restack( Client *c, Client *under ); void updateClientLayer( Client* c ); void raiseOrLowerClient( Client* ); + void resetUpdateToolWindowsTimer(); void restoreSessionStackingOrder( Client* c ); void updateStackingOrder( bool propagate_new_clients = false ); void forceRestacking();