lp:~alan-griffiths/compiz-core/rework-updatePlugins

Created by Alan Griffiths on 2012-03-28 and last modified on 2012-03-30
Get this branch:
bzr branch lp:~alan-griffiths/compiz-core/rework-updatePlugins
Only Alan Griffiths can upload to this branch. If you are Alan Griffiths please log in for upload directions.

Related bugs

Related blueprints

Branch information

Owner:
Alan Griffiths
Project:
Compiz Core
Status:
Merged

Recent revisions

3083. By Alan Griffiths on 2012-03-30

Memory leak in dlloaderListPlugins

3082. By Alan Griffiths on 2012-03-30

Memory leak in dlloaderListPlugins

3081. By Alan Griffiths on 2012-03-30

Memory leak in dlloaderListPlugins

3080. By Alan Griffiths on 2012-03-30

Fix memory leak

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 0.9.7.4 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.

IMPORTANT NOTE FOR UBUNTU PACKAGING
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:
lp:compiz-core
This branch contains Public information 
Everyone can see this information.

Subscribers