Remove clipped area immediately after painting. Should fix bug 193094.

CCBUG: 193094

svn path=/trunk/KDE/kdebase/workspace/; revision=969412
This commit is contained in:
Michael Zanetti 2009-05-18 10:22:51 +00:00
parent fc21b3099c
commit 03c84e7789

View file

@ -192,15 +192,6 @@ void SlideBackEffect::prePaintWindow( EffectWindow *w, WindowPrePaintData &data,
void SlideBackEffect::paintWindow( EffectWindow *w, int mask, QRegion region, WindowPaintData &data ) void SlideBackEffect::paintWindow( EffectWindow *w, int mask, QRegion region, WindowPaintData &data )
{ {
if( !clippedRegions.isEmpty() )
{
foreach( const QRegion &region, clippedRegions )
{
PaintClipper::pop( region );
}
clippedRegions.clear();
}
if( stackingOrderChanged() && ( w == newTopWindow() ) ) if( stackingOrderChanged() && ( w == newTopWindow() ) )
{ {
/* This can happen because of two reasons: /* This can happen because of two reasons:
@ -229,6 +220,14 @@ void SlideBackEffect::paintWindow( EffectWindow *w, int mask, QRegion region, Wi
motionManager.apply( w, data ); motionManager.apply( w, data );
} }
effects->paintWindow( w, mask, region, data ); effects->paintWindow( w, mask, region, data );
if( !clippedRegions.isEmpty() )
{
foreach( const QRegion &region, clippedRegions )
{
PaintClipper::pop( region );
}
clippedRegions.clear();
}
} }
void SlideBackEffect::postPaintWindow( EffectWindow* w ) void SlideBackEffect::postPaintWindow( EffectWindow* w )