Merge lp://qastaging/~compiz-team/compiz/compiz.fix_1171314 into lp://qastaging/compiz/0.9.10

Proposed by Sam Spilsbury
Status: Merged
Approved by: Sam Spilsbury
Approved revision: 3748
Merged at revision: 3763
Proposed branch: lp://qastaging/~compiz-team/compiz/compiz.fix_1171314
Merge into: lp://qastaging/compiz/0.9.10
Diff against target: 771 lines (+542/-71)
10 files modified
src/privatewindow.h (+1/-0)
src/window.cpp (+40/-54)
tests/system/xorg-gtest/tests/compiz_xorg_gtest_configure_window.cpp (+1/-15)
tests/system/xorg-gtest/tests/compiz_xorg_gtest_test_window_stacking.cpp (+403/-0)
tests/xorg-gtest/communicator/compiz_xorg_gtest_communicator.cpp (+5/-1)
tests/xorg-gtest/communicator/compiz_xorg_gtest_communicator.h (+2/-0)
tests/xorg-gtest/include/compiz-xorg-gtest.h (+2/-0)
tests/xorg-gtest/plugins/testhelper/src/testhelper.cpp (+61/-1)
tests/xorg-gtest/plugins/testhelper/src/testhelper.h (+6/-0)
tests/xorg-gtest/src/compiz-xorg-gtest.cpp (+21/-0)
To merge this branch: bzr merge lp://qastaging/~compiz-team/compiz/compiz.fix_1171314
Reviewer Review Type Date Requested Status
PS Jenkins bot (community) continuous-integration Approve
MC Return Approve
Review via email: mp+171669@code.qastaging.launchpad.net

This proposal supersedes a proposal from 2013-06-26.

Commit message

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)

Description of the change

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)

To post a comment you must log in.
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote : Posted in a previous version of this proposal
review: Needs Fixing (continuous-integration)
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote : Posted in a previous version of this proposal
review: Needs Fixing (continuous-integration)
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Approve (continuous-integration)
Revision history for this message
MC Return (mc-return) wrote :

LGTM, AFAICT. +1
I have not tested it though...

review: Approve
Revision history for this message
MC Return (mc-return) wrote :

Can anyone help with testing this ?

Revision history for this message
PS Jenkins bot (ps-jenkins) :
review: Approve (continuous-integration)

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
The diff is not available at this time. You can reload the page or download it.

Subscribers

People subscribed via source and target branches

to all changes: