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
|
||||
updateInputShape();
|
||||
if( compositing())
|
||||
addDamageFull();
|
||||
{
|
||||
addRepaintFull();
|
||||
addWorkspaceRepaint( geometry()); // in case shape change removes part of this window
|
||||
}
|
||||
if( scene != NULL )
|
||||
scene->windowGeometryShapeChanged( this );
|
||||
if( effects != NULL )
|
||||
|
@ -611,8 +614,6 @@ void Client::setMask( const QRegion& reg, int mode )
|
|||
XShapeCombineShape( display(), frameId(), ShapeBounding, 0, 0,
|
||||
shape_helper_window, ShapeBounding, ShapeSet );
|
||||
}
|
||||
if( compositing())
|
||||
addDamageFull();
|
||||
if( scene != NULL )
|
||||
scene->windowGeometryShapeChanged( this );
|
||||
if( effects != NULL )
|
||||
|
|
|
@ -1670,7 +1670,8 @@ bool Unmanaged::windowEvent( XEvent* e )
|
|||
if( e->type == Extensions::shapeNotifyEvent() )
|
||||
{
|
||||
detectShape( window());
|
||||
addDamageFull();
|
||||
addRepaintFull();
|
||||
addWorkspaceRepaint( geometry()); // in case shape change removes part of this window
|
||||
if( scene != NULL )
|
||||
scene->windowGeometryShapeChanged( this );
|
||||
if( effects != NULL )
|
||||
|
|
Loading…
Reference in a new issue