aboutsummaryrefslogtreecommitdiffstats
path: root/mail/em-folder-view.c
diff options
context:
space:
mode:
Diffstat (limited to 'mail/em-folder-view.c')
-rw-r--r--mail/em-folder-view.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/mail/em-folder-view.c b/mail/em-folder-view.c
index dfad679d16..8c8deec7f1 100644
--- a/mail/em-folder-view.c
+++ b/mail/em-folder-view.c
@@ -611,9 +611,10 @@ emfv_popup_delete(GtkWidget *w, EMFolderView *emfv)
uids = message_list_get_selected(emfv->list);
em_folder_view_mark_selected(emfv, CAMEL_MESSAGE_SEEN|CAMEL_MESSAGE_DELETED, CAMEL_MESSAGE_SEEN|CAMEL_MESSAGE_DELETED);
- if (uids->len == 1)
- message_list_select(emfv->list, MESSAGE_LIST_SELECT_NEXT, 0, 0, FALSE);
-
+ if (uids->len == 1) {
+ if (!message_list_select(emfv->list, MESSAGE_LIST_SELECT_NEXT, 0, 0, FALSE))
+ message_list_select(emfv->list, MESSAGE_LIST_SELECT_PREVIOUS, 0, 0, FALSE);
+ }
em_utils_uids_free(uids);
}
@@ -1833,6 +1834,9 @@ emfv_list_key_press(ETree *tree, int row, ETreePath path, int col, GdkEvent *ev,
emfv_popup_undelete(NULL, emfv);
else
emfv_popup_delete(NULL, emfv);
+
+ if (!message_list_select (emfv->list, MESSAGE_LIST_SELECT_NEXT, 0, 0, FALSE))
+ message_list_select (emfv->list, MESSAGE_LIST_SELECT_PREVIOUS, 0, 0, FALSE);
break;
case GDK_Menu:
/* FIXME: location of popup */