Make Client::setClientShown() a no-op if it's not required. (Maybe fixes

focus stealing prevention for ungrouped windows?)

svn path=/trunk/KDE/kdebase/workspace/; revision=1062368
This commit is contained in:
Lucas Murray 2009-12-14 13:26:39 +00:00
parent 7578016b72
commit 89e8c3f186

View file

@ -1681,7 +1681,7 @@ void Client::setClientShown( bool shown )
{ {
if( deleting ) if( deleting )
return; // Don't change shown status if this client is being deleted return; // Don't change shown status if this client is being deleted
if( !shown ) if( !shown && !hidden )
{ {
unmap( Allowed ); unmap( Allowed );
hidden = true; hidden = true;
@ -1692,7 +1692,7 @@ void Client::setClientShown( bool shown )
workspace()->updateFocusChains( this, Workspace::FocusChainMakeLast ); workspace()->updateFocusChains( this, Workspace::FocusChainMakeLast );
addWorkspaceRepaint( visibleRect() ); addWorkspaceRepaint( visibleRect() );
} }
else else if( hidden )
{ {
map( Allowed ); map( Allowed );
hidden = false; hidden = false;