more hacks to avoid races
This commit is contained in:
parent
6d3b17488f
commit
9389c7e6c8
1 changed files with 9 additions and 1 deletions
|
@ -1102,7 +1102,8 @@ void action_run_list(GSList *acts, ObClient *c, ObFrameContext context,
|
||||||
(c && c->type == OB_CLIENT_TYPE_DESKTOP &&
|
(c && c->type == OB_CLIENT_TYPE_DESKTOP &&
|
||||||
context == OB_FRAME_CONTEXT_DESKTOP)) &&
|
context == OB_FRAME_CONTEXT_DESKTOP)) &&
|
||||||
(a->func == action_focus ||
|
(a->func == action_focus ||
|
||||||
a->func == action_activate))
|
a->func == action_activate ||
|
||||||
|
a->func == action_showmenu))
|
||||||
{
|
{
|
||||||
/* XXX MORE UGLY HACK
|
/* XXX MORE UGLY HACK
|
||||||
actions from clicks on client windows are NOT queued.
|
actions from clicks on client windows are NOT queued.
|
||||||
|
@ -1120,6 +1121,13 @@ void action_run_list(GSList *acts, ObClient *c, ObFrameContext context,
|
||||||
so, this is just for that bug, and it will only NOT queue it
|
so, this is just for that bug, and it will only NOT queue it
|
||||||
if it is a focusing action that can be used with the mouse
|
if it is a focusing action that can be used with the mouse
|
||||||
pointer. ugh.
|
pointer. ugh.
|
||||||
|
|
||||||
|
also with the menus, there is a race going on. if the
|
||||||
|
desktop wants to pop up a menu, and we do to, we send them
|
||||||
|
the button before we pop up the menu, so they pop up their
|
||||||
|
menu first. but not always. if we pop up our menu before
|
||||||
|
sending them the button press, then the result is
|
||||||
|
deterministic. yay.
|
||||||
*/
|
*/
|
||||||
a->func(&a->data);
|
a->func(&a->data);
|
||||||
} else
|
} else
|
||||||
|
|
Loading…
Reference in a new issue