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=/trunk/KDE/kdebase/workspace/; revision=866350
icc-effect-5.14.5
Luboš Luňák 2008-09-30 16:45:24 +00:00
parent 27182e3800
commit 6c04eb4a6a
2 changed files with 6 additions and 4 deletions

View File

@ -520,7 +520,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 )
@ -609,8 +612,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 )

View File

@ -1646,7 +1646,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 )