From: Dana Jansens Date: Mon, 9 Jul 2007 16:36:21 +0000 (+0000) Subject: cancel interactive actions when anothr action runs properly X-Git-Url: https://git.brokenzipper.com/gitweb?a=commitdiff_plain;h=b32181ac69d3aa18756348991028f809cb2ee046;p=chaz%2Fopenbox cancel interactive actions when anothr action runs properly --- 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);