1346
popLockedPaintList ();
1348
foreach (CompWindow *w, windowsFinishedAnimations)
1350
AnimWindow *aw = AnimWindow::get (w);
1351
aw->priv->notifyAnimation (false);
1352
aw->priv->postAnimationCleanUp ();
1355
const CompWindowList &ppl = pushLockedPaintList ();
1357
foreach (CompWindow *w, ppl)
1346
foreach (CompWindow *w, pl)
1359
1348
PrivateAnimWindow *aw = AnimWindow::get (w)->priv;
1360
1349
if (aw->curAnimation ())
1361
1350
aw->curAnimation ()->postPreparePaint ();
1364
if (!animStillInProgress)
1366
activateEvent (false);
1367
mLastRedrawTimeFresh = false;
1369
// Reset stacking related info after all animations are done.
1370
ExtensionPluginAnimation *extPlugin =
1371
static_cast<ExtensionPluginAnimation *> (mExtensionPlugins[0]);
1372
extPlugin->resetStackingInfo ();
1375
1353
popLockedPaintList ();
1397
1375
assert (mAnimInProgress);
1377
const CompWindowList &pl = pushLockedPaintList ();
1378
CompWindowList windowsFinishedAnimations;
1380
bool animStillInProgress = false;
1382
/* Paint list includes destroyed windows */
1383
for (CompWindowList::const_reverse_iterator rit = pl.rbegin ();
1384
rit != pl.rend (); rit++)
1386
CompWindow *w = (*rit);
1387
AnimWindow *animWin = AnimWindow::get (w);
1388
PrivateAnimWindow *aw = animWin->priv;
1389
Animation *curAnim = aw->curAnimation ();
1393
bool finished = (curAnim->remainingTime () <= 0);
1394
if (finished) // Animation is done
1395
windowsFinishedAnimations.push_back (w);
1397
animStillInProgress = true;
1401
popLockedPaintList ();
1403
foreach (CompWindow *w, windowsFinishedAnimations)
1405
AnimWindow *aw = AnimWindow::get (w);
1406
aw->priv->notifyAnimation (false);
1407
aw->priv->postAnimationCleanUp ();
1410
if (!animStillInProgress)
1412
activateEvent (false);
1413
mLastRedrawTimeFresh = false;
1415
// Reset stacking related info after all animations are done.
1416
ExtensionPluginAnimation *extPlugin =
1417
static_cast<ExtensionPluginAnimation *> (mExtensionPlugins[0]);
1418
extPlugin->resetStackingInfo ();
1399
1421
cScreen->damagePending ();
1401
1423
cScreen->donePaint ();