more robust raise algorithm

svn path=/trunk/kdebase/kwin/; revision=33562
This commit is contained in:
Matthias Ettrich 1999-11-12 03:58:34 +00:00
parent 231f10c92e
commit ecec648c11

View file

@ -850,9 +850,19 @@ void Workspace::raiseClient( Client* c )
XRestackWindows(qt_xdisplay(), new_stack, i);
delete [] new_stack;
if ( c->transientFor() )
raiseClient( findClient( c->transientFor() ) );
if ( c->transientFor() ) {
Client* t = findClient( c->transientFor() );
Client* t2;
while (t && t->transientFor() ) {
t2 = findClient( t->transientFor() );
if ( t2 == c )
goto end;
t = t2;
}
raiseClient( t );
}
end:
propagateClients( TRUE );
}