~lbrulet-8/compiz-plugins-main/fix-876591

« back to all changes in this revision

Viewing changes to animation/src/extensionplugin.cpp

  • Committer: Package Import Robot
  • Author(s): Didier Roche
  • Date: 2011-09-22 14:50:55 UTC
  • mfrom: (1.1.8 upstream)
  • Revision ID: package-import@ubuntu.com-20110922145055-h3j0es7pbks2sg7r
Tags: 1:0.9.5.94+bzr20110919-0ubuntu1
* Cherry-pick rev 27:
  - "crash when looping paint list in preparePaint (on closing windows)
    (LP: #853807)
* Add debian/patches/01_fix_ghost_windows.patch:
  - fix ghost transient windows.

Show diffs side-by-side

added added

removed removed

Lines of Context:
412
412
                onlyTwo = true;
413
413
            }
414
414
            // Clear all mConfigureNotified's
415
 
            foreach (CompWindow *w2, ::screen->windows ())
 
415
            foreach (CompWindow *w2, CompositeScreen::get (::screen)->getWindowPaintList ())
416
416
            {
417
417
                RestackPersistentData *data =
418
418
                    static_cast<RestackPersistentData *>
514
514
            // was not possible.
515
515
            updateLastClientList ();
516
516
 
517
 
            foreach (CompWindow *w, ::screen->windows ())
 
517
            foreach (CompWindow *w, CompositeScreen::get (::screen)->getWindowPaintList ())
518
518
            {
519
519
                AnimWindow *aw = AnimWindow::get (w);
520
520
                // Allocate persistent restack data if it doesn't already exist
526
526
        }
527
527
        if (as->isAnimEffectPossible (AnimEffectDodge))
528
528
        {
529
 
            foreach (CompWindow *w, ::screen->windows ())
 
529
            foreach (CompWindow *w, CompositeScreen::get (::screen)->getWindowPaintList ())
530
530
            {
531
531
                AnimWindow *aw = AnimWindow::get (w);
532
532
                // Allocate persistent dodge data if it doesn't already exist
600
600
    bool wOldAboveGood = false;
601
601
    bool wRestackedGood = false;
602
602
 
603
 
    foreach (CompWindow *w, ::screen->windows ())
 
603
    foreach (CompWindow *w, CompositeScreen::get (::screen)->getWindowPaintList ())
604
604
    {
605
605
        AnimWindow *aw = AnimWindow::get (w);
606
606
 
623
623
void
624
624
ExtensionPluginAnimation::resetStackingInfo ()
625
625
{
626
 
    foreach (CompWindow *w, ::screen->windows ())
 
626
    foreach (CompWindow *w, CompositeScreen::get (::screen)->getWindowPaintList ())
627
627
    {
628
628
        AnimWindow *aw = AnimWindow::get (w);
629
629
        PersistentDataMap::iterator itData =
737
737
void
738
738
ExtensionPluginAnimation::resetMarks ()
739
739
{
740
 
    foreach (CompWindow *w, ::screen->windows ())
 
740
    foreach (CompWindow *w, CompositeScreen::get (::screen)->getWindowPaintList ())
741
741
    {
742
742
        RestackPersistentData *data = static_cast<RestackPersistentData *>
743
743
            (AnimWindow::get (w)->persistentData["restack"]);
758
758
    resetMarks ();
759
759
 
760
760
    CompWindow *w =
761
 
        getBottommostInExtendedFocusChain (*::screen->windows ().begin ());
 
761
        getBottommostInExtendedFocusChain (*CompositeScreen::get (::screen)->getWindowPaintList ().begin ());
762
762
    if (w)
763
763
    {
764
764
        RestackPersistentData *data = static_cast<RestackPersistentData *>