make cycling desktops not move when cancelling

This commit is contained in:
Dana Jansens 2007-05-09 04:16:31 +00:00
parent a3f8c5c45a
commit e384e8a42e
2 changed files with 9 additions and 25 deletions

View file

@ -1531,9 +1531,7 @@ void action_desktop(union ActionData *data)
if (data->inter.any.interactive)
screen_desktop_popup(data->desktop.desk, TRUE);
}
}
if (!data->inter.any.interactive || data->inter.final)
} else
screen_desktop_popup(0, FALSE);
}

View file

@ -647,20 +647,12 @@ void screen_desktop_popup(guint d, gboolean show)
guint screen_cycle_desktop(ObDirection dir, gboolean wrap, gboolean linear,
gboolean dialog, gboolean done, gboolean cancel)
{
static gboolean first = TRUE;
static guint origd, d;
guint r, c;
guint d, r, c;
if (cancel) {
d = origd;
goto done_cycle;
} else if (done && dialog) {
goto done_cycle;
}
if (first) {
first = FALSE;
d = origd = screen_desktop;
}
d = screen_desktop;
if ((cancel || done) && dialog)
goto show_cycle_dialog;
get_row_col(d, &r, &c);
@ -773,16 +765,10 @@ guint screen_cycle_desktop(ObDirection dir, gboolean wrap, gboolean linear,
}
show_cycle_dialog:
if (dialog) {
if (dialog && !cancel && !done) {
screen_desktop_popup(d, TRUE);
return d;
}
done_cycle:
first = TRUE;
screen_desktop_popup(0, FALSE);
} else
screen_desktop_popup(0, FALSE);
return d;
}