cancel interactive actions when anothr action runs properly
This commit is contained in:
parent
0d0ce065df
commit
b32181ac69
1 changed files with 6 additions and 8 deletions
|
@ -236,10 +236,12 @@ void actions_run_acts(GSList *acts,
|
||||||
|
|
||||||
actions_setup_data(&data, uact, state, x, y, button, con, client);
|
actions_setup_data(&data, uact, state, x, y, button, con, client);
|
||||||
|
|
||||||
if (actions_act_is_interactive(act) &&
|
if (!interactive_act || interactive_act->def != act->def) {
|
||||||
(!interactive_act || interactive_act->def != act->def))
|
/* cancel the old one */
|
||||||
{
|
if (interactive_act)
|
||||||
ok = actions_interactive_begin_act(act, state);
|
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 */
|
/* 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)
|
static gboolean actions_interactive_begin_act(ObActionsAct *act, guint state)
|
||||||
{
|
{
|
||||||
/* cancel the old one */
|
|
||||||
if (interactive_act)
|
|
||||||
actions_interactive_cancel_act();
|
|
||||||
|
|
||||||
if (grab_keyboard()) {
|
if (grab_keyboard()) {
|
||||||
interactive_act = act;
|
interactive_act = act;
|
||||||
actions_act_ref(interactive_act);
|
actions_act_ref(interactive_act);
|
||||||
|
|
Loading…
Reference in a new issue