Merging from old trunk:

r609071 | lunakl | 2006-11-29 14:25:38 +0100 (Wed, 29 Nov 2006) | 4 lines

+    // grab X during the release to make removing of properties, setting to withdrawn state
+    // and repareting to root an atomic operation (http://lists.kde.org/?l=kde-devel&m=116448102901184&w=2)


svn path=/trunk/KDE/kdebase/workspace/; revision=659470
icc-effect-5.14.5
Luboš Luňák 2007-04-30 09:41:48 +00:00
parent 9528129717
commit 95b5cca122
1 changed files with 4 additions and 0 deletions

View File

@ -192,6 +192,9 @@ void Client::releaseWindow( bool on_shutdown )
++block_geometry_updates;
if( isOnCurrentDesktop() && isShown( true ))
addWorkspaceRepaint( geometry());
// grab X during the release to make removing of properties, setting to withdrawn state
// and repareting to root an atomic operation (http://lists.kde.org/?l=kde-devel&m=116448102901184&w=2)
grabXServer();
setMappingState( WithdrawnState );
setModal( false ); // otherwise its mainwindow wouldn't get focus
hidden = true; // so that it's not considered visible anymore (can't use hideClient(), it would set flags)
@ -235,6 +238,7 @@ void Client::releaseWindow( bool on_shutdown )
disownDataPassedToDeleted();
del->unrefWindow();
deleteClient( this, Allowed );
ungrabXServer();
}
// like releaseWindow(), but this one is called when the window has been already destroyed