aboutsummaryrefslogtreecommitdiffstats
path: root/mail
diff options
context:
space:
mode:
Diffstat (limited to 'mail')
-rw-r--r--mail/message-list.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/mail/message-list.c b/mail/message-list.c
index 86b7cef2e6..24f46887aa 100644
--- a/mail/message-list.c
+++ b/mail/message-list.c
@@ -666,8 +666,13 @@ message_list_select_uid (MessageList *message_list, const gchar *uid)
node = g_hash_table_lookup (message_list->uid_nodemap, uid);
if (node) {
+ ETreePath old_cur = e_tree_get_cursor (message_list->tree);
+
/* This will emit a changed signal that we'll pick up */
e_tree_set_cursor (message_list->tree, node);
+
+ if (old_cur == node)
+ g_signal_emit (message_list, message_list_signals[MESSAGE_SELECTED], 0, message_list->cursor_uid);
} else {
g_free (message_list->cursor_uid);
message_list->cursor_uid = NULL;