summaryrefslogtreecommitdiff
path: root/openbox
diff options
context:
space:
mode:
Diffstat (limited to 'openbox')
-rw-r--r--openbox/actions.c14
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);