aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mail/ChangeLog5
-rw-r--r--mail/mail-callbacks.c1
-rw-r--r--mail/message-list.c7
3 files changed, 11 insertions, 2 deletions
diff --git a/mail/ChangeLog b/mail/ChangeLog
index b80fca7615..74cac78fae 100644
--- a/mail/ChangeLog
+++ b/mail/ChangeLog
@@ -1,3 +1,8 @@
+2002-06-17 Not Zed <NotZed@Ximian.com>
+
+ * message-list.c (regen_list_regen): If we dont support searching,
+ dont try to.
+
2002-06-11 Jeffrey Stedfast <fejj@ximian.com>
* message-list.c (regen_list_regen): Move m->complete = TRUE; to
diff --git a/mail/mail-callbacks.c b/mail/mail-callbacks.c
index 3976632172..eb85f92402 100644
--- a/mail/mail-callbacks.c
+++ b/mail/mail-callbacks.c
@@ -3112,6 +3112,7 @@ do_view_digest (CamelFolder *folder, char *uid, CamelMimeMessage *message, void
camel_folder_set_message_flags (folder, uid, CAMEL_MESSAGE_SEEN, CAMEL_MESSAGE_SEEN);
fb = (FolderBrowser *) folder_browser_new (folder_browser->shell, NULL);
+ message_list_set_hidedeleted(fb->message_list, 0);
folder_browser_set_message_preview (fb, TRUE);
folder_browser_set_folder (fb, digest, "digest:/");
camel_object_unref (CAMEL_OBJECT (digest));
diff --git a/mail/message-list.c b/mail/message-list.c
index 94a9d3389c..e868744d3d 100644
--- a/mail/message-list.c
+++ b/mail/message-list.c
@@ -2454,7 +2454,10 @@ regen_list_regen (struct _mail_msg *mm)
int i;
/* if we have hidedeleted on, use a search to find it out, merge with existing search if set */
- if (m->hidedel) {
+ if (!camel_folder_has_search_capability(m->folder)) {
+ /* if we have no search capability, dont let search or hide deleted work */
+ uids = camel_folder_get_uids(m->folder);
+ } else if (m->hidedel) {
char *expr;
if (m->search) {
@@ -2474,7 +2477,7 @@ regen_list_regen (struct _mail_msg *mm)
return;
/* perform hiding */
- if (m->hideexpr) {
+ if (m->hideexpr && camel_folder_has_search_capability(m->folder)) {
uidnew = camel_folder_search_by_expression (m->ml->folder, m->hideexpr, &mm->ex);
/* well, lets not abort just because this faileld ... */
camel_exception_clear (&mm->ex);