Maybe the sliding popups effect was unreferencing the same window

multiple times?
CCBUG: 209723

svn path=/trunk/KDE/kdebase/workspace/; revision=1037432
This commit is contained in:
Lucas Murray 2009-10-19 05:00:11 +00:00
parent 04bfc4cada
commit cd9ab34fec

View file

@ -85,7 +85,7 @@ void SlidingPopupsEffect::paintWindow( EffectWindow* w, int mask, QRegion region
appearing = true;
animating = true;
}
else if( mDisappearingWindows.contains( w ) )
else if( mDisappearingWindows.contains( w ) || w->isDeleted() )
{
appearing = false;
animating = true;
@ -126,7 +126,10 @@ void SlidingPopupsEffect::postPaintWindow( EffectWindow* w )
w->addRepaintFull(); // trigger next animation repaint
effects->postPaintWindow( w );
if( mDisappearingWindows.contains( w ) && mDisappearingWindows[ w ].value() >= 1 )
{
mDisappearingWindows.remove( w );
w->unrefWindow();
}
}
void SlidingPopupsEffect::windowAdded( EffectWindow* w )