aboutsummaryrefslogtreecommitdiffstats
path: root/mail/message-list.c
diff options
context:
space:
mode:
Diffstat (limited to 'mail/message-list.c')
-rw-r--r--mail/message-list.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/mail/message-list.c b/mail/message-list.c
index 97347dd87c..73ac39d608 100644
--- a/mail/message-list.c
+++ b/mail/message-list.c
@@ -810,10 +810,10 @@ message_list_regenerate (MessageList *message_list, const char *search)
g_hash_table_destroy (message_list->uid_rowmap);
}
message_list->uid_rowmap = g_hash_table_new (g_str_hash, g_str_equal);
-
- if (search) {
+
+ if (search && camel_folder_has_search_capability (message_list->folder)) {
CamelException ex;
-
+
camel_exception_init (&ex);
uids = camel_folder_search_by_expression (message_list->folder,
search, &ex);
@@ -826,9 +826,9 @@ message_list_regenerate (MessageList *message_list, const char *search)
message_list->search = g_strdup (search);
} else
uids = camel_folder_get_uids (message_list->folder, NULL);
-
+
/* FIXME: free the old tree data */
-
+
/* Clear the old contents, build the new */
if (message_list->tree_root)
e_tree_model_node_remove(etm, message_list->tree_root);