diff options
author | Milan Crha <mcrha@redhat.com> | 2014-05-06 22:27:01 +0800 |
---|---|---|
committer | Milan Crha <mcrha@redhat.com> | 2014-05-06 22:27:01 +0800 |
commit | 4c610e4945ed1c6d4b03078cd1490063bf58662a (patch) | |
tree | 196c7f162e0d20235f18dd5a7ec838b47d4c2c03 /mail/message-list.c | |
parent | c2de4087369147ed6797f6b7866629ff9da19dfc (diff) | |
download | gsoc2013-evolution-4c610e4945ed1c6d4b03078cd1490063bf58662a.tar gsoc2013-evolution-4c610e4945ed1c6d4b03078cd1490063bf58662a.tar.gz gsoc2013-evolution-4c610e4945ed1c6d4b03078cd1490063bf58662a.tar.bz2 gsoc2013-evolution-4c610e4945ed1c6d4b03078cd1490063bf58662a.tar.lz gsoc2013-evolution-4c610e4945ed1c6d4b03078cd1490063bf58662a.tar.xz gsoc2013-evolution-4c610e4945ed1c6d4b03078cd1490063bf58662a.tar.zst gsoc2013-evolution-4c610e4945ed1c6d4b03078cd1490063bf58662a.zip |
Bug #666142 - Filtered message not opened in a separate window
Diffstat (limited to 'mail/message-list.c')
-rw-r--r-- | mail/message-list.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/mail/message-list.c b/mail/message-list.c index 7883e5c156..571788b6c1 100644 --- a/mail/message-list.c +++ b/mail/message-list.c @@ -460,6 +460,9 @@ regen_data_new (MessageList *message_list, regen_data->message_list = g_object_ref (message_list); regen_data->last_row = -1; + if (message_list->just_set_folder) + regen_data->select_uid = g_strdup (message_list->cursor_uid); + g_mutex_init (®en_data->select_lock); session = message_list_get_session (message_list); @@ -1064,6 +1067,12 @@ message_list_select_uid (MessageList *message_list, message_list, signals[MESSAGE_SELECTED], 0, message_list->cursor_uid); + } else if (message_list->just_set_folder) { + g_free (message_list->cursor_uid); + message_list->cursor_uid = g_strdup (uid); + g_signal_emit ( + message_list, + signals[MESSAGE_SELECTED], 0, message_list->cursor_uid); } else { g_free (message_list->cursor_uid); message_list->cursor_uid = NULL; @@ -5248,7 +5257,7 @@ message_list_regen_tweak_search_results (MessageList *message_list, * Include the displayed message anyway so it doesn't suddenly * disappear while the user is reading it. */ needs_tweaking = - (folder_changed && message_list->cursor_uid != NULL); + ((folder_changed || message_list->just_set_folder) && message_list->cursor_uid != NULL); if (!needs_tweaking) return; |