From b93766efc8963018764e45d9744af8205a29ea7c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lubo=C5=A1=20Lu=C5=88=C3=A1k?= Date: Wed, 1 Oct 2008 12:49:52 +0000 Subject: [PATCH] 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 --- events.cpp | 1 + layers.cpp | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/events.cpp b/events.cpp index 16047a65c1..2bfff7f33f 100644 --- a/events.cpp +++ b/events.cpp @@ -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 ) diff --git a/layers.cpp b/layers.cpp index a0564ea700..ad02fbff67 100644 --- a/layers.cpp +++ b/layers.cpp @@ -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; }