summaryrefslogtreecommitdiff
path: root/openbox
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2007-07-09 16:36:21 +0000
committerDana Jansens <danakj@orodu.net>2007-07-09 16:36:21 +0000
commitb32181ac69d3aa18756348991028f809cb2ee046 (patch)
tree91559a8ba270c470a3a2c336d0d43f325f18837a /openbox
parent0d0ce065df9ff1acc06fe63e4a0fe45c184de693 (diff)
cancel interactive actions when anothr action runs properly
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);