Scale Addons: "Exit Scale On Pull" code logic just works for the initiate_key binding, will fail completely if this is not defined
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Compiz |
New
|
Medium
|
MC Return |
Bug Description
[How to reproduce]
1. Enable Scale and Scale Addons
2. Remove the scale keybinding "Initiate Window Picker" and use "Initiate Window Picker For All Windows"
3. Open Scale Addons, enable the "Pull Window" binding and make sure Behaviour->"Exit Scale On Pull" is enabled
4. Activate Scale and try to "Pull" a window
[What you would expect to happen]
The window should focus and scale should exit.
[What actually happens]
The enabled "Exit Scale On Pull" setting gets ignored.
This is the code responsible for that problem:
if (optionGetExitA
{
CompAction *action;
CompOption:
CompOption *opt;
o.push_back (CompOption ("root", CompOption:
o[0].value ().set ((int) screen->root ());
opt = CompOption:
action = &opt->value ().action ();
if (action->terminate ())
action-
}
It is weak design, because it assumes that the "initiate_key" is defined, which is not always the case
(as you can clearly see in the how-to-reproduce part above)
It should instead directly call the terminate function of scale instead of initiating the key.
Changed in compiz: | |
assignee: | nobody → MC Return (mc-return) |
status: | New → In Progress |
status: | In Progress → New |
Changed in compiz: | |
importance: | Undecided → Medium |
milestone: | none → 0.9.10.0 |
Changed in compiz: | |
milestone: | 0.9.10.0 → 0.9.11.0 |