summaryrefslogtreecommitdiff
path: root/openbox/actions.c
diff options
context:
space:
mode:
Diffstat (limited to 'openbox/actions.c')
-rw-r--r--openbox/actions.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/openbox/actions.c b/openbox/actions.c
index fda119c8..78546361 100644
--- a/openbox/actions.c
+++ b/openbox/actions.c
@@ -304,9 +304,12 @@ void actions_run_acts(GSList *acts,
if (interactive_act)
actions_interactive_cancel_act();
if (act->i_pre)
- act->i_pre(act->options);
- ok = actions_interactive_begin_act(act, state);
+ if (!act->i_pre(state, act->options))
+ act->i_input = NULL; /* remove the interactivity */
}
+ /* check again cuz it might have been cancelled */
+ if (actions_act_is_interactive(act))
+ ok = actions_interactive_begin_act(act, state);
}
/* fire the action's run function with this data */