Created by Sam Spilsbury on 2012-03-30 and last modified on 2012-03-30
Get this branch:
bzr branch lp:~smspillaz/compiz-core/compiz-core.fix_969101
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

Sam Spilsbury
Compiz Core

Recent revisions

3083. By Sam Spilsbury on 2012-03-30

Use gtest_add_tests

3082. By Sam Spilsbury on 2012-03-30

Make virtual functions private

3081. By Sam Spilsbury on 2012-03-30

Fix LP#969102 - Remove DecorWindow::computeShadowRegion and replace with a smarter class.

DecorClipGroup (split into GenericDecorClipGroup and MatchedDecorClipGroup) take a
DecorClippableInterface which where entry and exit from the group is guarded by the implementation
and are treated as one layer for the purposes of shadowing - eg the input region of each
member of the clip group will clip all of the shadows of the members, so that none of
the members appear to be overlapping.

This algorithm is a lot more optimized in that the shadows are only updated when
relevant windows are updated.

Tested too.

3080. By Sam Spilsbury on 2012-03-30

Fix LP#969108

priv->invisible was not updated when the window is mapped, even though it reflects whether or not the window is mapped.

Update priv->invisible when the window is mapped.

Merge lp:~smspillaz/compiz-core/compiz-core.fix_969108 into lp:compiz-core

3079. By Daniel van Vugt on 2012-03-30

Add missing NEWS item: Fix for #964248

3078. By Daniel van Vugt on 2012-03-30

Update NEWS and bump VERSION to ready for release candidate.

3077. By Daniel van Vugt on 2012-03-30

Revert locally integrated menus support because it is not being used and
is apparently causing a regression (LP: #962085)

This reverts LP: #931245 and LP: #682788. It is a pure revert of
lp:compiz-core r3036.

3076. By Sam Spilsbury on 2012-03-30

Use the stack order when determining the next window to focus instead
of the focus order when click focus is enabled. (LP: #888704)

3075. By Alan Griffiths on 2012-03-30

Avoid graphics corruption and hangs on compiz start-up by ensuring that
plugins don't get initialized, de-initialized and re-initialzed during
start-up. (LP: #963093) (LP: #963633)

The multiple init/fini/init calls occured when compiz was asked to load an
invalid plugin name. This occurred most recently as plugins "bailer" and
"detection" were left in some peoples' configs while the plugins themselves
no longer exist in the current compiz release.

The source of the graphics corruption and hangs has been found to be a
problem in the composite and/or opengl plugins. One or both of them are unsafe
to init/fini multiple times without a full compiz restart. So the root cause
is not exactly known yet. However composite and opengl are not alone; many
plugins have bugs with init/fini/init sequences, so it is valuable to fix
the start-up plugin ordering as this does.

Essentially this fix works by remembering which plugins don't exist at all
and putting them on a black list. Then subsequent updates check the blacklist
and know they should never include those failed plugins in testing whether
the active plugin lists have changed.

The final part of the fix is to remove a rendundant call to updatePlugins from
EventManager::init. It is not required as main tells PluginManager when to
load plugins on startup.

In downstream ubuntu branches the DEFAULT_PLUGINS list in "debian/rules" also
causes multiple plugin loads on start-up and prevents this fix from working!
The solution is to change DEFAULT_PLUGINS to just "ccp".

3074. By Alan Griffiths on 2012-03-29

Some additional testing of updatePlugins inspired by #963264

Branch metadata

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