r866350
When window shape changes, also cause a workspace repaint, just in case the change removes part of a window. Also, window repaint is enough, no need to damage the window contents. svn path=/branches/KDE/4.1/kdebase/workspace/; revision=866351
This commit is contained in:
parent
5e19cbbc0f
commit
fa48c3f1f4
2 changed files with 6 additions and 4 deletions
|
@ -522,7 +522,10 @@ void Client::updateShape()
|
||||||
// when the decoration calls it or when the decoration is created/destroyed
|
// when the decoration calls it or when the decoration is created/destroyed
|
||||||
updateInputShape();
|
updateInputShape();
|
||||||
if( compositing())
|
if( compositing())
|
||||||
addDamageFull();
|
{
|
||||||
|
addRepaintFull();
|
||||||
|
addWorkspaceRepaint( geometry()); // in case shape change removes part of this window
|
||||||
|
}
|
||||||
if( scene != NULL )
|
if( scene != NULL )
|
||||||
scene->windowGeometryShapeChanged( this );
|
scene->windowGeometryShapeChanged( this );
|
||||||
if( effects != NULL )
|
if( effects != NULL )
|
||||||
|
@ -611,8 +614,6 @@ void Client::setMask( const QRegion& reg, int mode )
|
||||||
XShapeCombineShape( display(), frameId(), ShapeBounding, 0, 0,
|
XShapeCombineShape( display(), frameId(), ShapeBounding, 0, 0,
|
||||||
shape_helper_window, ShapeBounding, ShapeSet );
|
shape_helper_window, ShapeBounding, ShapeSet );
|
||||||
}
|
}
|
||||||
if( compositing())
|
|
||||||
addDamageFull();
|
|
||||||
if( scene != NULL )
|
if( scene != NULL )
|
||||||
scene->windowGeometryShapeChanged( this );
|
scene->windowGeometryShapeChanged( this );
|
||||||
if( effects != NULL )
|
if( effects != NULL )
|
||||||
|
|
|
@ -1670,7 +1670,8 @@ bool Unmanaged::windowEvent( XEvent* e )
|
||||||
if( e->type == Extensions::shapeNotifyEvent() )
|
if( e->type == Extensions::shapeNotifyEvent() )
|
||||||
{
|
{
|
||||||
detectShape( window());
|
detectShape( window());
|
||||||
addDamageFull();
|
addRepaintFull();
|
||||||
|
addWorkspaceRepaint( geometry()); // in case shape change removes part of this window
|
||||||
if( scene != NULL )
|
if( scene != NULL )
|
||||||
scene->windowGeometryShapeChanged( this );
|
scene->windowGeometryShapeChanged( this );
|
||||||
if( effects != NULL )
|
if( effects != NULL )
|
||||||
|
|
Loading…
Reference in a new issue