aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMilan Crha <mcrha@redhat.com>2014-07-01 22:45:30 +0800
committerMilan Crha <mcrha@redhat.com>2014-07-01 22:46:42 +0800
commitb07c2b006e34456052fe4a1f83720c2b5a564ce8 (patch)
treeaa57ade0104b3184cbbd2e4f8d7bfcb41b9a36c3
parentadd3b70e366538292b970c8e44dc15bd8a004f3e (diff)
downloadgsoc2013-evolution-b07c2b006e34456052fe4a1f83720c2b5a564ce8.tar
gsoc2013-evolution-b07c2b006e34456052fe4a1f83720c2b5a564ce8.tar.gz
gsoc2013-evolution-b07c2b006e34456052fe4a1f83720c2b5a564ce8.tar.bz2
gsoc2013-evolution-b07c2b006e34456052fe4a1f83720c2b5a564ce8.tar.lz
gsoc2013-evolution-b07c2b006e34456052fe4a1f83720c2b5a564ce8.tar.xz
gsoc2013-evolution-b07c2b006e34456052fe4a1f83720c2b5a564ce8.tar.zst
gsoc2013-evolution-b07c2b006e34456052fe4a1f83720c2b5a564ce8.zip
Bug 732091 - Automatically mark message as read sometimes doesn't work
-rw-r--r--mail/e-mail-reader.c24
1 files changed, 20 insertions, 4 deletions
diff --git a/mail/e-mail-reader.c b/mail/e-mail-reader.c
index 9dc6ed3001..b63800dcf1 100644
--- a/mail/e-mail-reader.c
+++ b/mail/e-mail-reader.c
@@ -2672,9 +2672,9 @@ mail_reader_load_status_changed_cb (EMailReader *reader,
e_mail_display_get_part_list (display) &&
e_mail_view_get_preview_visible (E_MAIL_VIEW (reader))) {
if (priv->folder_was_just_selected)
- priv->folder_was_just_selected = FALSE;
+ priv->folder_was_just_selected = FALSE;
else
- schedule_timeout_mark_seen (reader);
+ schedule_timeout_mark_seen (reader);
}
}
@@ -2990,6 +2990,22 @@ mail_reader_emit_folder_loaded (EMailReader *reader)
g_signal_emit (reader, signals[FOLDER_LOADED], 0);
}
+static void
+mail_reader_message_list_built_cb (MessageList *message_list,
+ EMailReader *reader)
+{
+ EMailReaderPrivate *priv;
+
+ priv = E_MAIL_READER_GET_PRIVATE (reader);
+ mail_reader_emit_folder_loaded (reader);
+
+ /* No cursor_uid means that there will not be emitted any
+ "cursor-changed" and "message-selected" signal, thus
+ unset the "just selected folder" flag */
+ if (!message_list->cursor_uid)
+ priv->folder_was_just_selected = FALSE;
+}
+
static EAlertSink *
mail_reader_get_alert_sink (EMailReader *reader)
{
@@ -4018,9 +4034,9 @@ connect_signals:
message_list, "right-click",
G_CALLBACK (discard_timeout_mark_seen_cb), reader);
- g_signal_connect_swapped (
+ g_signal_connect_after (
message_list, "message-list-built",
- G_CALLBACK (mail_reader_emit_folder_loaded), reader);
+ G_CALLBACK (mail_reader_message_list_built_cb), reader);
g_signal_connect_swapped (
message_list, "double-click",