lp:~compiz-team/compiz/compiz.fix_1130160

Created by Sam Spilsbury and last modified
Get this branch:
bzr branch lp:~compiz-team/compiz/compiz.fix_1130160
Members of Compiz Maintainers can upload to this branch. Log in for directions.

Branch merges

Related bugs

Related blueprints

Branch information

Owner:
Compiz Maintainers
Project:
Compiz
Status:
Merged

Recent revisions

3613. By Sam Spilsbury

Enable copytex by default and stick the upgrades in the right place

(LP: #1130160)

3612. By Sam Spilsbury

Enable xorg-gtest tests by default and build in CI.

This change also refactors a number of parts of the code to find and build the tests. It puts the logic to find Google Test and Xorg GTest in their own cmake files, and also splits the find logic with the build logic. Finally, it makes the xorg-gtest variables available to all subdirectories and not just the ones under tests/.

This change also refreshes some distro patches. A new option was added to not auto-load the ccp plugin, and also modifies one of the tests depending on a modified setting value.

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

Approved by Sam Spilsbury, Andrea Azzarone.

3611. By Sam Spilsbury

Query both the ShapeBounding and ShapeInput rectangles, or neither in the case
that XShape is disabled.

(LP: #729979).

Approved by Andrea Azzarone, Esokrates, PS Jenkins bot.

3610. By Sam Spilsbury

Also allow the tests to run through ccsSetValue. Fixes: https://bugs.launchpad.net/bugs/1063617.

Approved by Marco Trevisan (Treviño), PS Jenkins bot.

3609. By Sam Spilsbury

Workaround hangs in glXBindTexImageEXT - we need a server grab for the
external pixmap case, but we can just revert to using copytex if using
VirtualBox for now.

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

Approved by Marco Trevisan (Treviño), PS Jenkins bot.

3608. By Sam Spilsbury

We don't need CMAKE_THREADS_LIB

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

Approved by Łukasz Zemczak, PS Jenkins bot.

3607. By Brandon Schaefer

Adds a test to show that windows do not get put above/below transientFor window when they are attached to dock type windows. Fixes: https://bugs.launchpad.net/bugs/906231.

Approved by PS Jenkins bot, Sam Spilsbury.

3606. By Sam Spilsbury

Ensure that we never get a BadWindow due to the sibling in a ConfigureWindow.

Issuing a ConfigureWindow request with a sibling parameter that refers
to a sibling that's actually destroyed server side results in a BadWindow
error, and causes what we might think is a correct ConfigureWindow request
to fail. This would cause even more problems because we had marked
the request as succeeding, and adjusted serverWindows appropriately,
which would cause further restacks to rely on the invalid internal state.

Unfortunately, this is effectively a race condition between the client and
the server. We receive our events and are racing the server to not
destroy the window internally before we get a chance to issue a
ConfigureWindow request relative to the destroyed window.

Because of that, we need to hold a server grab during the period in which
we check if the sibling window is still valid server side and when
we issue a ConfigureWindow request. If it is valid, then we can guaruntee
that the server will process the request relative to the sibling window,
and if not, we can select another sibling as appropriate.

Adjusted the API such that any function which looks for an appropriate sibling
or any function which calls XConfigureWindow with the sibling parameter
set requires a server grab to be active (by virtue of the fact that they
accept a const ServerLock &).

The only implicit contract between clients now is that the client must
obtain the sibling window either by using one of the designated functions
to do so which requires a ServerLock, or that the client holds a server lock
and while it holds the ServerLock, it calls XGetWindowAttributes or
XGetGeometry to check if the sibling window is valid.

configureXWindow was split into configureXWindow and
restackAndConfigureXWindow. The latter requires a server lock, the former
will warn about this potential race condition if you attempt to
restack a window using it.

Passing tests:

[ RUN ] CompizXorgSystemStackingTest.TestCreateRelativeToDestroyedWindowFindsAnotherAppropriatePosition
[ OK ] CompizXorgSystemStackingTest.TestCreateRelativeToDestroyedWindowFindsAnotherAppropriatePosition (55 ms)

(LP: #1088399). Fixes: https://bugs.launchpad.net/bugs/906231, https://bugs.launchpad.net/bugs/1088399.

Approved by PS Jenkins bot.

3605. By MC Return

Expose unmaximize_or_minimize_window_key instead of unmaximize_window_key
in Gnome Control Center.

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

Approved by Sam Spilsbury, Didier Roche.

3604. By Michail Bitzes

Plugin splash ported to OpenGL|ES.

Use GLVertexBuffer.
Enable building for GLES. Enable architectures armel and armhf.

Approved by Sam Spilsbury, MC Return.

Branch metadata

Branch format:
Branch format 7
Repository format:
Bazaar repository format 2a (needs bzr 1.16 or later)
Stacked on:
lp:compiz/0.9.9
This branch contains Public information 
Everyone can see this information.