don't raise the whole group with a transient, but only its ancestors

BUG: 199910

svn path=/trunk/KDE/kdebase/workspace/; revision=1030954
icc-effect-5.14.5
Thomas Lübking 2009-10-03 15:40:58 +00:00
parent 31e52fd9ac
commit 2df71872a0
1 changed files with 6 additions and 4 deletions

View File

@ -389,10 +389,12 @@ void Workspace::raiseClient( Client* c, bool nogroup )
if( !nogroup && c->isTransient())
{
ClientList wins = ensureStackingOrder( c->group()->members());
foreach( Client* c2, wins )
if( c2 != c )
raiseClient( c2, true );
ClientList transients;
Client *transient_parent = c;
while ((transient_parent = transient_parent->transientFor()))
transients << transient_parent;
foreach( transient_parent, transients )
raiseClient( transient_parent, true );
}
unconstrained_stacking_order.removeAll( c );