Don't remove event masks on kwin's own widgets.
svn path=/trunk/KDE/kdebase/workspace/; revision=734667
This commit is contained in:
parent
ad73c931e5
commit
f5f2afc983
2 changed files with 9 additions and 6 deletions
|
@ -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 )
|
||||
|
|
|
@ -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();
|
||||
|
|
Loading…
Reference in a new issue