~ps-jenkins/compiz/latestsnapshot-10.9.10+13.10.20130927.1-0ubuntu1

« back to all changes in this revision

Viewing changes to plugins/wall/src/wall.cpp

  • Committer: Tarmac
  • Author(s): Chris Townsend
  • Date: 2013-09-20 22:39:05 UTC
  • mfrom: (3790.1.1 compiz-0.9.10)
  • Revision ID: tarmac-20130920223905-6riso490a0ckqv8b
Fix regression when selecting apps on a different viewport than the current one will no longer automatically switch the viewport. Fixes: https://bugs.launchpad.net/bugs/1228352.

Approved by PS Jenkins bot, Brandon Schaefer.

Show diffs side-by-side

added added

removed removed

Lines of Context:
553
553
{
554
554
    WALL_SCREEN (screen);
555
555
 
556
 
    if (ws->optionGetAutoSwitchVpAndWindow () && window->placed () && !screen->otherGrabExist ("wall", "switcher", 0))
 
556
    if (window->placed () && !screen->otherGrabExist ("wall", "switcher", 0))
557
557
    {
558
558
        int       dx, dy;
559
559
        CompPoint viewport;
582
582
                return;
583
583
            }
584
584
 
585
 
            ws->focusDefault = false;
586
 
 
587
 
            CompRegion screenRegion;
588
 
 
589
 
            foreach (const CompOutput &o, screen->outputDevs ())
590
 
                screenRegion += o.workArea ();
591
 
 
592
 
            CompPoint d = compiz::wall::movementWindowOnScreen (window->serverBorderRect (),
593
 
                                                                screenRegion);
594
 
 
595
 
            mask |= d.x () !=0 ? CWX : 0;
596
 
            mask |= d.y () !=0 ? CWY : 0;
597
 
 
598
 
            xwc.x = window->serverGeometry ().x () + d.x ();
599
 
            xwc.y = window->serverGeometry ().y () + d.y ();
600
 
 
601
 
            window->configureXWindow (mask, &xwc);
 
585
            if (ws->optionGetAutoSwitchVpAndWindow ())
 
586
            {
 
587
                ws->focusDefault = false;
 
588
 
 
589
                CompRegion screenRegion;
 
590
 
 
591
                foreach (const CompOutput &o, screen->outputDevs ())
 
592
                    screenRegion += o.workArea ();
 
593
 
 
594
                CompPoint d = compiz::wall::movementWindowOnScreen (window->serverBorderRect (),
 
595
                                                                    screenRegion);
 
596
 
 
597
                mask |= d.x () !=0 ? CWX : 0;
 
598
                mask |= d.y () !=0 ? CWY : 0;
 
599
 
 
600
                xwc.x = window->serverGeometry ().x () + d.x ();
 
601
                xwc.y = window->serverGeometry ().y () + d.y ();
 
602
 
 
603
                window->configureXWindow (mask, &xwc);
 
604
            }
602
605
        }
603
606
    }
604
607