lp://qastaging/~compiz-team/compiz/compiz.fix_1124313
- Get this branch:
- bzr branch lp://qastaging/~compiz-team/compiz/compiz.fix_1124313
Branch merges
- Łukasz Zemczak: Approve
- PS Jenkins bot (community): Approve (continuous-integration)
- Andrea Azzarone: Pending requested
-
Diff: 12 lines (+0/-2)1 file modifiedCMakeLists.txt (+0/-2)
Branch information
Recent revisions
- 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 ] CompizXorgSyste
mStackingTest. TestCreateRelat iveToDestroyedW indowFindsAnoth erAppropriatePo sition
[ OK ] CompizXorgSystemStackingTest. TestCreateRelat iveToDestroyedW indowFindsAnoth erAppropriatePo sition (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.
- 3603. By Marco Trevisan (Treviño)
-
Ccp: check if an option has changed before calling the base class
Otherwise core options (that is called before) won't never be correctly updated on
setOptionForPlugin call(LP: #1122228). Fixes: https:/
/bugs.launchpad .net/bugs/ 1122228. Approved by Sam Spilsbury.
- 3601. By PS Jenkins bot
-
Releasing 1:0.9.9~
daily13. 02.07-0ubuntu1 to ubuntu. Approved by PS Jenkins bot.
- 3600. By MC Return
-
Refactoring of thumbnail.xml.in:
Better structuring.
Converted 'Window Title Text' from subgroup to group,
thereby moving the text settings into their own tab.Improved tooltips and titles.
Fixed indentation.
(LP: #1113459). Fixes: https:/
/bugs.launchpad .net/bugs/ 1113459. Approved by Sam Spilsbury.
- 3599. By MC Return
-
Cube Gears plugin:
Fixed the rendering of the inner cylinders by rendering them first.(LP: #1117311). Fixes: https:/
/bugs.launchpad .net/bugs/ 1117311. Approved by Sam Spilsbury.
- 3598. By MC Return
-
Fixed cppcheck static code analysis errors/
warnings/ recommendations : * Removed unused variable TfWindowList:
:iterator 'iter' in
TrailfocusScreen::refillList (). * Removed useless calculation of 'distance', because the calculated value
is never used.* Do not assign false to bool 'rv', because a new value is reassigned
a few lines later, before the old one has been used.
Declare and assign bool 'rv' in the same line instead.* Used prefix ++ operator to increase 'rit' in the for loop, because
pre-increment can be more efficient.* Used prefix ++ operators to increase 'w' (x2) and 'it' in their
respective for loops for the same reason.* Commented out calculation of 'x2', because this value gets recalculated
a few lines later, before having been used.* int 'lco', 'rco', 'tco' and 'bco' got the value output assigned, but
this value never was used, but all got new values assigned a few lines
later.
Declare and assign int 'lco', 'rco', 'tco' and 'bco' in the same line.* The 'xv' and 'yv' variables are of type unsigned int, so %u is the right
format to snprintf them, not %d.(LP: #1114525). Fixes: https:/
/bugs.launchpad .net/bugs/ 1114525. Approved by Sam Spilsbury.
Branch metadata
- Branch format:
- Branch format 7
- Repository format:
- Bazaar repository format 2a (needs bzr 1.16 or later)
- Stacked on:
- lp://qastaging/compiz/0.9.9