Make the cached stacking order invalid right after sending X command for changing it,

in case the new stacking order is needed before kwin gets the matching event,
due to X being asynchronous.
BUG: 171033


svn path=/trunk/KDE/kdebase/workspace/; revision=866605
This commit is contained in:
Luboš Luňák 2008-10-01 12:49:52 +00:00
parent 402ea46332
commit b93766efc8
2 changed files with 5 additions and 0 deletions

View file

@ -1682,6 +1682,7 @@ void Unmanaged::configureNotifyEvent( XConfigureEvent* e )
addWorkspaceRepaint( geometry()); // damage old area
QRect old = geom;
geom = newgeom;
addRepaintFull();
if( old.size() != geom.size())
discardWindowPixmap();
if( scene != NULL )

View file

@ -216,6 +216,10 @@ void Workspace::propagateClients( bool propagate_new_clients )
cl[pos++] = (*it)->window();
rootInfo->setClientListStacking( cl, pos );
delete [] cl;
// Make the cached stacking order invalid here, in case we need the new stacking order before we get
// the matching event, due to X being asynchronous.
x_stacking_dirty = true;
}