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:
parent
04bfc4cada
commit
cd9ab34fec
1 changed files with 4 additions and 1 deletions
|
@ -85,7 +85,7 @@ void SlidingPopupsEffect::paintWindow( EffectWindow* w, int mask, QRegion region
|
||||||
appearing = true;
|
appearing = true;
|
||||||
animating = true;
|
animating = true;
|
||||||
}
|
}
|
||||||
else if( mDisappearingWindows.contains( w ) )
|
else if( mDisappearingWindows.contains( w ) || w->isDeleted() )
|
||||||
{
|
{
|
||||||
appearing = false;
|
appearing = false;
|
||||||
animating = true;
|
animating = true;
|
||||||
|
@ -126,7 +126,10 @@ void SlidingPopupsEffect::postPaintWindow( EffectWindow* w )
|
||||||
w->addRepaintFull(); // trigger next animation repaint
|
w->addRepaintFull(); // trigger next animation repaint
|
||||||
effects->postPaintWindow( w );
|
effects->postPaintWindow( w );
|
||||||
if( mDisappearingWindows.contains( w ) && mDisappearingWindows[ w ].value() >= 1 )
|
if( mDisappearingWindows.contains( w ) && mDisappearingWindows[ w ].value() >= 1 )
|
||||||
|
{
|
||||||
|
mDisappearingWindows.remove( w );
|
||||||
w->unrefWindow();
|
w->unrefWindow();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void SlidingPopupsEffect::windowAdded( EffectWindow* w )
|
void SlidingPopupsEffect::windowAdded( EffectWindow* w )
|
||||||
|
|
Loading…
Reference in a new issue