~compiz-team/compiz-core/compiz-core.fix_857487

« back to all changes in this revision

Viewing changes to src/window.cpp

  • Committer: Sam Spilsbury
  • Date: 2011-09-29 03:29:41 UTC
  • mfrom: (2844.1.1)
  • Revision ID: git-v1:c4d70d50ba148ef51f1a9f27f90bfb1805b96dcc
MergeĀ lp:~compiz-team/compiz-core/compiz-core.fix_861793

Show diffs side-by-side

added added

removed removed

Lines of Context:
3983
3983
         * if serverPrev was recently restacked */
3984
3984
        if (window->serverPrev)
3985
3985
        {
3986
 
            bool pendingRestacks = false;
3987
 
 
3988
 
            foreach (XWCValueMask &xwcvm, sibling->priv->pendingConfigures)
3989
 
            {
3990
 
                if (xwcvm.second & (CWSibling | CWStackMode))
3991
 
                {
3992
 
                    pendingRestacks = true;
3993
 
                    break;
3994
 
                }
3995
 
            }
3996
 
 
3997
 
            if (!sibling && window->serverPrev)
3998
 
            {
3999
 
                XWindowChanges xwc;
 
3986
            if (!sibling)
 
3987
            {
 
3988
                XWindowChanges lxwc;
4000
3989
                unsigned int   valueMask = CWStackMode;
4001
3990
 
4002
 
                xwc.stack_mode = Below;
 
3991
                lxwc.stack_mode = Below;
4003
3992
 
4004
3993
                /* Below with no sibling puts the window at the bottom
4005
3994
                 * of the stack */
4006
 
                XConfigureWindow (screen->dpy (), ROOTPARENT (window), valueMask, &xwc);
 
3995
                XConfigureWindow (screen->dpy (), ROOTPARENT (window), valueMask, &lxwc);
4007
3996
 
4008
3997
                if (serverFrame)
4009
 
                    priv->addPendingConfigure (xwc, CWStackMode);
 
3998
                    priv->addPendingConfigure (lxwc, CWStackMode);
4010
3999
 
4011
4000
                /* Update the list of windows last sent to the server */
4012
4001
                screen->unhookServerWindow (window);
4013
4002
                screen->insertServerWindow (window, 0);
4014
4003
            }
4015
 
            else if (sibling->priv->id != window->serverPrev->priv->id ||
4016
 
                     pendingRestacks)
 
4004
            else if (sibling)
4017
4005
            {
4018
 
                mask |= CWSibling | CWStackMode;
4019
 
 
4020
 
                xwc->stack_mode = Above;
4021
 
                xwc->sibling    = ROOTPARENT (sibling);
 
4006
                bool pendingRestacks = false;
 
4007
 
 
4008
                foreach (XWCValueMask &xwcvm, sibling->priv->pendingConfigures)
 
4009
                {
 
4010
                    if (xwcvm.second & (CWSibling | CWStackMode))
 
4011
                    {
 
4012
                        pendingRestacks = true;
 
4013
                        break;
 
4014
                    }
 
4015
                }
 
4016
 
 
4017
                if (sibling->priv->id != window->serverPrev->priv->id || pendingRestacks)
 
4018
                {
 
4019
                    mask |= CWSibling | CWStackMode;
 
4020
 
 
4021
                    xwc->stack_mode = Above;
 
4022
                    xwc->sibling    = ROOTPARENT (sibling);
 
4023
                }
4022
4024
            }
4023
4025
        }
4024
4026
        else if (sibling)