Temporarily block geometry while (re)setting fullscreen mode, otherwise
updateDecoration() can cause resizing and changing the maximize state. BUG: 106019 svn path=/trunk/KDE/kdebase/kwin/; revision=417304
This commit is contained in:
parent
838f9cddb9
commit
90b92dd290
1 changed files with 3 additions and 0 deletions
|
@ -1974,6 +1974,7 @@ void Client::setFullScreen( bool set, bool user )
|
|||
if( was_fs == isFullScreen())
|
||||
return;
|
||||
StackingUpdatesBlocker blocker( workspace());
|
||||
++block_geometry;
|
||||
workspace()->updateClientLayer( this ); // active fullscreens get different layer
|
||||
info->setState( isFullScreen() ? NET::FullScreen : 0, NET::FullScreen );
|
||||
updateDecoration( false, false );
|
||||
|
@ -1991,6 +1992,8 @@ void Client::setFullScreen( bool set, bool user )
|
|||
setGeometry( workspace()->clientArea( MaximizeArea, this ));
|
||||
}
|
||||
}
|
||||
--block_geometry;
|
||||
setGeometry( geometry(), ForceGeometrySet );
|
||||
updateWindowRules();
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue