lp:~vanvugt/compiz-core/fix-startup-plugins
- Get this branch:
- bzr branch lp:~vanvugt/compiz-core/fix-startup-plugins
Branch merges
- Daniel van Vugt: Disapprove
- Alan Griffiths: Needs Fixing
- Sam Spilsbury: Approve
- Didier Roche-Tolomelli: Pending requested
-
Diff: 181 lines (+27/-71)2 files modifiedsrc/privatescreen.h (+5/-0)
src/screen.cpp (+22/-71)
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
- 3072. By Daniel van Vugt
-
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 subsquent updates check the blacklist
and know they should never include those failed plugins in testing whether
the active plugin lists have changed.The second part of the fix is to ensure updatePlugins no longer calls
screen->setOptionForPl ugin to change the active_plugins setting based on what
can and is loaded. That's not only redundant and wasteful but might cause
further callbacks to updatePlugins unnecessarily.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. - 3070. By Daniel van Vugt
-
Fixed: Composite would fail to initialize even when it was the only
composite window manage running. This was because it leaked its handles
and in the unusual cases where plugin load failures cause other plugins to
unload/reload, composite would fail to init the second time.
(LP: #963465) (LP: #963465) (LP: #833729) - 3069. By Daniel van Vugt
-
Fixed Super key release events sometimes not being sent to plugins
(LP: #963470)This regression was caused by the latest fix for LP: #806255, which has now
been removed. That was the third different fix attempted for #806255 and all
three have caused different regressions. So #806255 will not be fixed for
now. The only remaining fix (guaranteed to work) for that bug is to eliminate
and rewrite the XkbStateNotify code in compiz-core and several plugins.
However that is a massive change we can't afford to risk right now. So we
need to accept that LP: #806255 won't be fixed for a while. - 3066. By Daniel van Vugt
-
Don't rely on the value of "grabbed" to tell you if the root window is
presently accepting key events (meaning there are no external active grabs).
There are some edge cases where grabbed is false but root is still accepting
key events, so when that happened compiz would ignore its own key shortcuts
(LP: #953089)This was a regression caused by the fix for LP: #806255. The fix for that
bug has now been redesigned to avoid causing LP: #953089. - 3065. By Daniel van Vugt
-
Don't allow plugins (unity) to interfere with tap detection by blocking
compiz-core from handling key events (LP: #960831) - 3064. By Daniel van Vugt
-
Bump version to 0.9.7.3. At least until we have a release candidate 0.9.7.4
- 3063. By Sam Spilsbury
-
Use gconf_client_
dir_exists as gconf_client_get_* doesn't set GError if
the dir doesn't exist in the gconf database. (LP: #953839)
Branch metadata
- Branch format:
- Branch format 7
- Repository format:
- Bazaar repository format 2a (needs bzr 1.16 or later)
- Stacked on:
- lp:compiz-core