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=866350icc-effect-5.14.5
parent
27182e3800
commit
6c04eb4a6a
|
@ -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 )
|
||||
|
|
|
@ -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 )
|
||||
|
|
Loading…
Reference in New Issue