Fixed GIMP-1.1 (and other applications) windows dissappearing magically
svn path=/trunk/kdebase/kwin/; revision=66379
This commit is contained in:
parent
41aa62711e
commit
cceeee466f
1 changed files with 17 additions and 14 deletions
|
@ -427,19 +427,24 @@ bool Workspace::workspaceEvent( XEvent * e )
|
|||
// race conditions
|
||||
c = findClientWidthId( e->xunmap.window );
|
||||
if ( c )
|
||||
return c->windowEvent( e );
|
||||
(void) c->windowEvent( e );
|
||||
}
|
||||
|
||||
if ( e->xunmap.event != e->xunmap.window ) // hide wm typical event from Qt
|
||||
return TRUE;
|
||||
return ( e->xunmap.event != e->xunmap.window ); // hide wm typical event from Qt
|
||||
|
||||
case MapNotify:
|
||||
if ( e->xunmap.event == root ) {
|
||||
|
||||
if ( e->xmap.event == root ) {
|
||||
// keep track of map/unmap for own own windows to avoid
|
||||
// race conditions
|
||||
c = findClientWidthId( e->xmap.window );
|
||||
if ( c )
|
||||
return c->windowEvent( e );
|
||||
(void) c->windowEvent( e );
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
return ( e->xmap.event != e->xmap.window ); // hide wm typical event from Qt
|
||||
|
||||
case ReparentNotify:
|
||||
c = findClient( e->xreparent.window );
|
||||
if ( c )
|
||||
|
@ -456,7 +461,7 @@ bool Workspace::workspaceEvent( XEvent * e )
|
|||
kwin_updateTime();
|
||||
c = findClient( e->xmaprequest.window );
|
||||
if ( !c ) {
|
||||
if ( e->xmaprequest.parent == root ) {
|
||||
if ( e->xmaprequest.parent ) { // == root ) { //###TODO store rpeviously destroyed client ids
|
||||
if ( addSystemTrayWin( e->xmaprequest.window ) )
|
||||
return TRUE;
|
||||
c = clientFactory( e->xmaprequest.window );
|
||||
|
@ -2359,10 +2364,8 @@ void Workspace::slotWindowOperations()
|
|||
*/
|
||||
void Workspace::slotWindowClose()
|
||||
{
|
||||
if ( tab_box->isVisible() ) {
|
||||
qDebug("ARGGGLLLLLLLLL");
|
||||
if ( tab_box->isVisible() )
|
||||
return;
|
||||
}
|
||||
performWindowOperation( popup_client, Options::CloseOp );
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue