X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=openbox%2Factions.c;h=5f146b7eb890f26c8b743ed1528b721d807e4888;hb=b32181ac69d3aa18756348991028f809cb2ee046;hp=67dc3d31ee38c79b26ea780d4e972d341619999b;hpb=0d0ce065df9ff1acc06fe63e4a0fe45c184de693;p=chaz%2Fopenbox 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);