aboutsummaryrefslogtreecommitdiffstats
path: root/modules/mail
diff options
context:
space:
mode:
authorMatthew Barnes <mbarnes@redhat.com>2010-02-10 01:22:04 +0800
committerMatthew Barnes <mbarnes@redhat.com>2010-02-10 01:22:04 +0800
commit22326b6d336dfb52f7ef85f5e5ab339b95f966de (patch)
treec3f545feaf124f0c39a2d63db4286b7238575e59 /modules/mail
parent519d4a3de509e2e5120630ae56c06ded2f329f81 (diff)
downloadgsoc2013-evolution-22326b6d336dfb52f7ef85f5e5ab339b95f966de.tar.gz
gsoc2013-evolution-22326b6d336dfb52f7ef85f5e5ab339b95f966de.tar.zst
gsoc2013-evolution-22326b6d336dfb52f7ef85f5e5ab339b95f966de.zip
Bug 609404 - Quick search filter should work on current message list view
Diffstat (limited to 'modules/mail')
-rw-r--r--modules/mail/e-mail-shell-view.c26
1 files changed, 18 insertions, 8 deletions
diff --git a/modules/mail/e-mail-shell-view.c b/modules/mail/e-mail-shell-view.c
index ce3c285a37..b85d146828 100644
--- a/modules/mail/e-mail-shell-view.c
+++ b/modules/mail/e-mail-shell-view.c
@@ -497,10 +497,15 @@ all_accounts:
priv->search_account_cancel = NULL;
}
- /* Simulate a folder tree selection change, so the
- * message list is reset to the correct folder via
- * our EMFolderTree::folder-selected handler. */
- g_signal_emit_by_name (selection, "changed");
+ /* Reset the message list to the current folder tree
+ * selection. This needs to happen synchronously to
+ * avoid search conflicts, so we can't just grab the
+ * folder URI and let the asynchronous callbacks run
+ * after we've already kicked off the search. */
+ folder = em_folder_tree_get_selected_folder (folder_tree);
+ uri = em_folder_tree_get_selected_uri (folder_tree);
+ e_mail_reader_set_folder (reader, folder, uri);
+ g_free (uri);
gtk_widget_set_sensitive (GTK_WIDGET (combo_box), TRUE);
@@ -619,10 +624,15 @@ current_account:
priv->search_account_cancel = NULL;
}
- /* Simulate a folder tree selection change, so the
- * message list is reset to the correct folder via
- * our EMFolderTree::folder-selected handler. */
- g_signal_emit_by_name (selection, "changed");
+ /* Reset the message list to the current folder tree
+ * selection. This needs to happen synchronously to
+ * avoid search conflicts, so we can't just grab the
+ * folder URI and let the asynchronous callbacks run
+ * after we've already kicked off the search. */
+ folder = em_folder_tree_get_selected_folder (folder_tree);
+ uri = em_folder_tree_get_selected_uri (folder_tree);
+ e_mail_reader_set_folder (reader, folder, uri);
+ g_free (uri);
gtk_widget_set_sensitive (GTK_WIDGET (combo_box), TRUE);