Don't remove event masks on kwin's own widgets.

svn path=/trunk/KDE/kdebase/workspace/; revision=734667
This commit is contained in:
Luboš Luňák 2007-11-09 14:48:26 +00:00
parent ad73c931e5
commit f5f2afc983
2 changed files with 9 additions and 6 deletions

View file

@ -686,10 +686,10 @@ void TabBox::delayedShow()
void TabBox::handleMouseEvent( XEvent* e )
{
XAllowEvents( display(), AsyncPointer, xTime() );
XAllowEvents( display(), AsyncPointer, xTime());
if( !isVisible() && isDisplayed())
{ // tabbox has been replaced, check effects
if( effects && static_cast<EffectsHandlerImpl*>(effects)->checkInputWindowEvent( e ))
if( effects && static_cast<EffectsHandlerImpl*>(effects)->checkInputWindowEvent( e ))
return;
}
if( e->type != ButtonPress )

View file

@ -43,7 +43,7 @@ bool Unmanaged::track( Window w )
return false;
}
setWindowHandles( w, w ); // the window is also the frame
XSelectInput( display(), w, StructureNotifyMask );
XSelectInput( display(), w, attr.your_event_mask | StructureNotifyMask );
geom = QRect( attr.x, attr.y, attr.width, attr.height );
vis = attr.visual;
bit_depth = attr.depth;
@ -77,9 +77,12 @@ void Unmanaged::release()
}
finishCompositing();
workspace()->removeUnmanaged( this, Allowed );
if( Extensions::shapeAvailable())
XShapeSelectInput( display(), window(), NoEventMask );
XSelectInput( display(), window(), NoEventMask );
if( !QWidget::find( window())) // don't affect our own windows
{
if( Extensions::shapeAvailable())
XShapeSelectInput( display(), window(), NoEventMask );
XSelectInput( display(), window(), NoEventMask );
}
addWorkspaceRepaint( geometry());
disownDataPassedToDeleted();
del->unrefWindow();