diff options
| author | Dana Jansens <danakj@orodu.net> | 2007-07-09 16:36:21 +0000 |
|---|---|---|
| committer | Dana Jansens <danakj@orodu.net> | 2007-07-09 16:36:21 +0000 |
| commit | b32181ac69d3aa18756348991028f809cb2ee046 (patch) | |
| tree | 91559a8ba270c470a3a2c336d0d43f325f18837a /openbox | |
| parent | 0d0ce065df9ff1acc06fe63e4a0fe45c184de693 (diff) | |
cancel interactive actions when anothr action runs properly
Diffstat (limited to 'openbox')
| -rw-r--r-- | openbox/actions.c | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/openbox/actions.c b/openbox/actions.c index 67dc3d31..5f146b7e 100644 --- a/openbox/actions.c +++ b/openbox/actions.c @@ -236,10 +236,12 @@ void actions_run_acts(GSList *acts, actions_setup_data(&data, uact, state, x, y, button, con, client); - if (actions_act_is_interactive(act) && - (!interactive_act || interactive_act->def != act->def)) - { - ok = actions_interactive_begin_act(act, state); + if (!interactive_act || interactive_act->def != act->def) { + /* cancel the old one */ + if (interactive_act) + actions_interactive_cancel_act(); + if (actions_act_is_interactive(act)) + ok = actions_interactive_begin_act(act, state); } /* fire the action's run function with this data */ @@ -272,10 +274,6 @@ void actions_interactive_cancel_act() static gboolean actions_interactive_begin_act(ObActionsAct *act, guint state) { - /* cancel the old one */ - if (interactive_act) - actions_interactive_cancel_act(); - if (grab_keyboard()) { interactive_act = act; actions_act_ref(interactive_act); |
