~townsend/compiz/fix-lp1244754-0.9.10

« back to all changes in this revision

Viewing changes to tests/xorg-gtest/include/compiz-xorg-gtest.h

  • Committer: Tarmac
  • Author(s): Sam Spilsbury
  • Date: 2013-07-18 13:06:24 UTC
  • mfrom: (3745.2.3 compiz.fix_1171314)
  • Revision ID: tarmac-20130718130624-wdwqqxwkrphvu4kv
Don't add the frame to the toplevel stack if it hasn't been created yet.

In the event that a window is unreparented or destroyed, we usually need
to add its frame window to the toplevel window stack until the time at
which we recieve a DestroyNotify for it, as there may be incoming
ConfigureNotify events puporting to stack other windows relative to
that frame.

However, this does not apply in the case where we have not yet received
a CreateNotify for the frame window. In that case, it is not possible
for any stacking requests to be made relative to this window, so it
does not need to be added immediately. Instead, we can add it at the
time that we recieve a CreateNotify for it as a regular override
redirect window until the time that it is later destroyed.

(LP: #1171314). Fixes: https://bugs.launchpad.net/bugs/1171314.

Approved by PS Jenkins bot, MC Return.

Show diffs side-by-side

added added

removed removed

Lines of Context:
126
126
        Window GetImmediateParent (Display *display,
127
127
                                   Window  w,
128
128
                                   Window  &rootReturn);
 
129
        Window GetTopmostNonRootParent (Display *display,
 
130
                                        Window  w);
129
131
 
130
132
        std::list <Window> NET_CLIENT_LIST_STACKING (Display *);
131
133
        bool AdvanceToNextEventOnSuccess (Display *dpy,