workaround bug 224600 / active but unrisen windows don't go fullscreen

NOTICE that the correct solution would be to move any active FS client on top of the stack in layers.cpp but this might raise other issues.
this patch preserves the present behaviour but raises windows before setting the fullscreen. the only "issue" with this is that for setups that do not raise windows when activating them, setting an active but not risen client FS will cause a restack as sideeffect

BUG: 224600

svn path=/trunk/KDE/kdebase/workspace/; revision=1194908
This commit is contained in:
Thomas Lübking 2010-11-10 03:08:37 +00:00
parent 746cdddf76
commit 773fec4e23

View file

@ -2553,6 +2553,8 @@ void Client::setFullScreen( bool set, bool user )
fullscreen_mode = set ? FullScreenNormal : FullScreenNone;
if( was_fs == isFullScreen())
return;
if ( set )
workspace()->raiseClient( this );
StackingUpdatesBlocker blocker1( workspace());
GeometryUpdatesBlocker blocker2( this );
workspace()->updateClientLayer( this ); // active fullscreens get different layer