lp:~smspillaz/compiz-core/compiz-core.fix_930071

Created by Sam Spilsbury and last modified
Get this branch:
bzr branch lp:~smspillaz/compiz-core/compiz-core.fix_930071
Only Sam Spilsbury can upload to this branch. If you are Sam Spilsbury please log in for upload directions.

Branch merges

Related bugs

Related blueprints

Branch information

Owner:
Sam Spilsbury
Project:
Compiz Core
Status:
Merged

Recent revisions

2991. By Sam Spilsbury

Handle a race condition gtk-window-decorator where a frame could be
repainted before it was fully realized leading to a crash. LP#930071

2990. By Sam Spilsbury

Be a little smarter about updating decorations (LP: #928173)

Merged -r2983..2985 from lp:~smspillaz/compiz-core/compiz-core.decor_928173

2989. By Daniel van Vugt

Fix build failure due to combining these two commits together:
  2987: lp:~alan-griffiths/compiz-core/test-PrivateScreen-updatePlugins
  2988: lp:~vanvugt/compiz-core/fix-928655

Of course, they worked independently, but not together.

2988. By Daniel van Vugt

Revert revision 2938:
    lp:~smspillaz/compiz-core/compiz-core.fix-880707-test-v3
in order to avoid a critical regression it causes (LP: #928655).

Unfortunately the regression was not just a logical bug, but a design bug.
The imposition of user-controlled frame rate throttling completely broke the
existing automatic frame rate throttling and detection. This was a design bug
because it attempted to separate waiting for Vsync from buffer swapping.
Doing so makes the detection of unthrottled rendering impossible. So the
paintscheduler would just switch to non-vsync mode and get stuck there
(LP: #928655).

Instead use the original algorithm from revision 2916:
    lp:~vanvugt/compiz-core/fix-880707.2
which is stable and has many months of community testing already.

Merged from lp:~vanvugt/compiz-core/fix-928655

2987. By Alan Griffiths

There's a lot of refactoring that makes it possible to get PrivateScreen under test. The inital purpose was to get "updatePlugins" under test.

To do this it was necessary to start disentagling the CompScreen interface used by much of the code from the implementation - the result is a CompScreenImpl object that has the actual functionality.

Significantly, it is now possible to mock CompScreen - and a couple of tests for PrivateScreen::updatePlugins are added.

These tests highlight a number of issues with initialisation and cleanup which will be addressed later. But it's probably good to make the refactoring work available for comment sooner rather than later.

I realise that these tests are far from "unit tests" but the interface to PrivateScreen is messy, involving globals, and dependencies on public state. (And at least they don't hit the filesystem.)

Merged from lp:~alan-griffiths/compiz-core/test-PrivateScreen-updatePlugins

2986. By Alan Griffiths

Tidy up variable declarations and spurious try-catch blocks
Merged from lp:~alan-griffiths/compiz-core/cleanup-updatePlugin

2985. By Mikkel Kamstrup Erlandsen

Fix hardcoded ref to build/ dir and use ${compiz_BINARY_DIR} instead
Merged from lp:~kamstrup/compiz-core/plugin-build-dir-fix

2984. By Daniel van Vugt

Use correct library dirs to avoid plugin build failures (LP: #928044)

Merge lp:~vanvugt/compiz-core/fix-928044 into lp:compiz-core

2983. By Daniel van Vugt

Fix regression: Compiz failed to pass key events through to other apps/windows in some cases (LP: #925979)

Revert back to how the code looked in the previous release (and oneiric).

Merge lp:~vanvugt/compiz-core/fix-925979 into lp:compiz-core

2982. By Daniel van Vugt

Fix build failure due to previous commits (lp:~alan-griffiths/compiz-core/fix-leaks).

Branch metadata

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

Subscribers