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

Created by Sam Spilsbury and last modified
Get this branch:
bzr branch lp:~compiz-team/compiz/compiz.fix_1138517
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

3632. By Sam Spilsbury

Only set the decoration if we actually meant to decorate the window.

This allows us to set frame extents and not set the whole decoration
property

3631. By Sam Spilsbury

Don't set lastFrameExtents unless the window geometry actually changed - as
that variable only exists to track changes in the actual geometry of
the window and not the apparant frame extents.

Added tests to verify that behaviour.

(LP: #1138517)

3630. By MC Return

Grid plugin:

Fixed wrong calculation of top-left corner coordinates.
Now detection of this corner also works correctly on multimonitor configurations.
Improved readability of the grid corner detection code.

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

Approved by PS Jenkins bot, Ɓukasz Zemczak.

3629. By PS Jenkins bot

Releasing 1:0.9.9~daily13.02.28-0ubuntu1 to ubuntu.

Approved by PS Jenkins bot.

3628. By MC Return

Fixed minor cppcheck issues:

Do not assign a value to rv, because this value is never used.
Instead declare and assign a value to bool rv in the same line.

Do not assign false to Bool readonly, because this value is never used.
Instead declare the variable and assign a value in the same line.

Other minor problems:

Fixed some guaruntee->guarantee typos in comments.
Fixed copyright headers still referring to the old .c files.
Fixed wrong names in copyright headers.

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

Approved by Sam Spilsbury.

3627. By MC Return

Firepaint:

Inverted the statements in the if conditions checking cache_size
to improve readability and to harmonize the code with showmouse.
Fixed minor coding style issues (added spaces).

Firepaint and Showmouse:

Added constants replacing magic numbers to improve readability.
Removed redundant newlines.

Approved by Brandon Schaefer, Sam Spilsbury.

3626. By Brandon Schaefer

Move CompScreenImpl::focusTopMostWindow() over to use the serverWindows list, as its more up-to-date. Now lowering a window will have an up-to-date stacking order.

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

Approved by Sam Spilsbury.

3625. By Sam Spilsbury

Reset nQuad to 0 for the WINDOW_DECORATION_TYPE_WINDOW case.

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

Approved by Brandon Schaefer, PS Jenkins bot, MC Return.

3624. By Paul Donohue

Fixed addhelper failing to autostart.
Credits and thanks for this patch go to Paul Donohue.

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

Approved by Sam Spilsbury.

3623. By Sam Spilsbury

Allow plugins to throttle delivery of ConfigureWindow requests within reason (LP: #1027211)

(LP: #1027211) seems to be caused by vsync in the nvidia driver and posting lots of ConfigureWindow requests to the server. The driver really chokes on these for some reason. As a result, two things were happening:

1. The driver slows down quite significantly
2. We get more time to post more ConfigureWindow requests to the driver, which just slows it down even more until it grinds to a halt.

This branch does three things:
1. Introduces infrastructure for plugins to hold a "lock" on delivering ConfigureWindow requests until they choose to release it later (eg, on paint, or on ungrab), while still allowing core to override the plugin's decisions in cases where we actually need to post a ConfigureWindow request to the server in order to continue (eg, some other request is dependent on it). That code was TDD'ed into existence and has test coverage.
2. Optimizes reconfigureXWindow to only configure the frame window if the only thing that happened was that we moved the window. This means that we only buffer up one ConfigureWindow instead of three per call to reconfigureXWindow
3. Implements ConfigureRequestBuffer in both opengl and move. The default implementation in "opengl" is the "safe" version and releases its lock every time the window paints. That means that dragging around opengl rendered windows goes from a complete halt to a steady 12fps. In the move plugin, I've revived "lazy positioning" - off by default as it might be more unsafe, but this prevents all ConfigureWindow requests from being posted until the window is ungrabbed. That goes brings us from 12fps to 60fps.

Approved by Brandon Schaefer.

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.