Merge lp:~smspillaz/compiz-core/compiz-core.fix_891591 into lp:compiz-core/0.9.5

Proposed by Sam Spilsbury
Status: Merged
Approved by: Daniel van Vugt
Approved revision: 2942
Merged at revision: 2911
Proposed branch: lp:~smspillaz/compiz-core/compiz-core.fix_891591
Merge into: lp:compiz-core/0.9.5
Prerequisite: lp:~smspillaz/compiz-core/compiz-core.fix_894688
Diff against target: 20 lines (+1/-2)
1 file modified
src/screen.cpp (+1/-2)
To merge this branch: bzr merge lp:~smspillaz/compiz-core/compiz-core.fix_891591
Reviewer Review Type Date Requested Status
Daniel van Vugt Approve
Review via email: mp+88492@code.launchpad.net

This proposal supersedes a proposal from 2011-12-01.

Description of the change

    Mark screen as initialized before initializing windows as windowInitPlugins
    may implicitly call the constructor of a PluginScreen and likely PluginOptions
    which will try to register actions and will silently fail

    eg,

    windowInitPlugins -> PluginWindow::PluginWindow -> PluginScreen::get () ->
    PluginScreen::PluginScreen -> PluginOptions::PluginOptions ->
    CompScreen::addAction

This should fix bug 896591

Next lp:~smspillaz/compiz-core/fix_896586_rotate_plugin

To post a comment you must log in.
Revision history for this message
Daniel van Vugt (vanvugt) wrote : Posted in a previous version of this proposal

I don't need to fully understand this code to say:

1. The change to src/window.cpp looks like a mistake so should be removed.

2. Are you sure this proposal fixes bug 891591? Or is that a typo and its meant to fix a different bug?

review: Needs Fixing
Revision history for this message
Sam Spilsbury (smspillaz) wrote : Posted in a previous version of this proposal

> I don't need to fully understand this code to say:
>
> 1. The change to src/window.cpp looks like a mistake so should be removed.

Ack

>
> 2. Are you sure this proposal fixes bug 891591? Or is that a typo and its
> meant to fix a different bug?

Right, it should be bug 896591 . That was a typo

Revision history for this message
Tim Penhey (thumper) wrote : Posted in a previous version of this proposal

Really this change shouldn't be a part of the pipeline.

How would you confirm the fix in a test if you were to write a test manual or otherwise?

Revision history for this message
Sam Spilsbury (smspillaz) wrote : Posted in a previous version of this proposal

compiz --replace composite opengl move resize cube rotate

Then try and switch desktops with the default keybindings (eg ctrl-alt-left / ctrl-alt-right).

The problem was that in the case where you're loading plugins on the command line (as I was), those plugins will always all be loaded at once, as compared to using compizconfig where they are loaded sequentially a little after compizconfig starts up (eg on a zero-timer).

It's a very small thing, but something I noticed as I was making changes, so thats why I fixed it.

2942. By Sam Spilsbury

Merged compiz-core.fix_894688 into compiz-core.fix_891591.

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Approved. I couldn't find the exact revision of the below diff. But applying it manually and using the above test case seems to work.

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'src/screen.cpp'
2--- src/screen.cpp 2012-01-13 16:36:41 +0000
3+++ src/screen.cpp 2012-01-13 16:36:41 +0000
4@@ -4659,6 +4659,7 @@
5 XSync (dpy, FALSE);
6
7 /* Start initializing windows here */
8+ priv->initialized = true;
9
10 for (unsigned int i = 0; i < nchildren; i++)
11 {
12@@ -4723,8 +4724,6 @@
13 priv->vpSize.setWidth (priv->optionGetHsize ());
14 priv->vpSize.setHeight (priv->optionGetVsize ());
15
16- priv->initialized = true;
17-
18 /* TODO: Bailout properly when screenInitPlugins fails
19 * TODO: It would be nicer if this line could mean
20 * "init all the screens", but unfortunately it only inits

Subscribers

People subscribed via source and target branches