the previous one instead of closing the viewer
* Close the message viewer after moving the last message of a
folder. Fixes NB#79541
pmo-trunk-r4073
if (modest_msg_view_window_last_message_selected (win) &&
modest_msg_view_window_first_message_selected (win)) {
modest_ui_actions_on_close_window (NULL, MODEST_WINDOW (win));
if (modest_msg_view_window_last_message_selected (win) &&
modest_msg_view_window_first_message_selected (win)) {
modest_ui_actions_on_close_window (NULL, MODEST_WINDOW (win));
- } else if (!modest_msg_view_window_select_next_message (win)) {
+ } else if (!modest_msg_view_window_select_next_message (win) &&
+ !modest_msg_view_window_select_previous_message (win)) {
gboolean ret_value;
g_signal_emit_by_name (G_OBJECT (win), "delete-event", NULL, &ret_value);
}
gboolean ret_value;
g_signal_emit_by_name (G_OBJECT (win), "delete-event", NULL, &ret_value);
}
if (MODEST_IS_MSG_VIEW_WINDOW (object)) {
ModestMsgViewWindow *self = MODEST_MSG_VIEW_WINDOW (object);
if (MODEST_IS_MSG_VIEW_WINDOW (object)) {
ModestMsgViewWindow *self = MODEST_MSG_VIEW_WINDOW (object);
- if (!modest_msg_view_window_select_next_message (self))
- if (!modest_msg_view_window_select_previous_message (self))
- /* No more messages to view, so close this window */
- modest_ui_actions_on_close_window (NULL, MODEST_WINDOW(self));
+ if (modest_msg_view_window_last_message_selected (self) &&
+ modest_msg_view_window_first_message_selected (self)) {
+ modest_ui_actions_on_close_window (NULL, MODEST_WINDOW (self));
+ } else if (!modest_msg_view_window_select_next_message (self) &&
+ !modest_msg_view_window_select_previous_message (self)) {
+ /* No more messages to view, so close this window */
+ modest_ui_actions_on_close_window (NULL, MODEST_WINDOW(self));
+ }
} else if (MODEST_IS_MAIN_WINDOW (object) && helper->reference != NULL) {
GtkWidget *header_view;
GtkTreePath *path;
} else if (MODEST_IS_MAIN_WINDOW (object) && helper->reference != NULL) {
GtkWidget *header_view;
GtkTreePath *path;