lp:~alan-griffiths/compiz-core/rework-updatePlugins
- Get this branch:
- bzr branch lp:~alan-griffiths/compiz-core/rework-updatePlugins
Branch merges
- Daniel van Vugt: Approve
-
Diff: 686 lines (+439/-107) (has conflicts)4 files modifiedinclude/core/plugin.h (+1/-1)
src/privatescreen.h (+6/-0)
src/privatescreen/tests/test-privatescreen.cpp (+352/-13)
src/screen.cpp (+80/-93)
Related bugs
Bug #963093: Unity 5.8: Flickering and corruption on Unity UI elements | Critical | Fix Released |
|
Bug #963633: Unity 5.8: Login to blank screen (all black or just wallpaper) | Critical | Fix Released |
|
Related blueprints
Branch information
Recent revisions
- 3077. By Daniel van Vugt
-
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
-
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
-
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".
Branch metadata
- Branch format:
- Branch format 7
- Repository format:
- Bazaar repository format 2a (needs bzr 1.16 or later)
- Stacked on:
- lp:compiz-core