diff options
-rw-r--r-- | mail/ChangeLog | 9 | ||||
-rw-r--r-- | mail/em-format-html-display.c | 7 | ||||
-rw-r--r-- | mail/message-list.c | 28 |
3 files changed, 31 insertions, 13 deletions
diff --git a/mail/ChangeLog b/mail/ChangeLog index 5bab0ed476..9673688f5c 100644 --- a/mail/ChangeLog +++ b/mail/ChangeLog @@ -1,5 +1,14 @@ 2008-09-01 Milan Crha <mcrha@redhat.com> + ** Fix for bug #543135 + + * em-format-html-display.c: (efhd_format_optional): + Write error message to the right stream. + * message-list.c: (mail_regen_list), (regen_list_done): Do not try + to set information message to the message list when it's not visible. + +2008-09-01 Milan Crha <mcrha@redhat.com> + ** Fix for bug #534039 * mail-folder-cache.c: (real_flush_updates): Make sure search folder's diff --git a/mail/em-format-html-display.c b/mail/em-format-html-display.c index 199ff19b67..3985b96ec7 100644 --- a/mail/em-format-html-display.c +++ b/mail/em-format-html-display.c @@ -2446,7 +2446,12 @@ efhd_format_optional(EMFormat *emf, CamelStream *fstream, CamelMimePart *part, C { char *classid, *html; struct _attach_puri *info; - CamelStream *stream = ((CamelStreamFilter *) fstream)->source; + CamelStream *stream; + + if (CAMEL_IS_STREAM_FILTER (fstream) && ((CamelStreamFilter *) fstream)->source) + stream = ((CamelStreamFilter *) fstream)->source; + else + stream = fstream; classid = g_strdup_printf("optional%s", emf->part_id->str); info = (struct _attach_puri *)em_format_add_puri(emf, sizeof(*info), classid, part, efhd_attachment_frame); diff --git a/mail/message-list.c b/mail/message-list.c index 4382b0bd82..927297b8eb 100644 --- a/mail/message-list.c +++ b/mail/message-list.c @@ -4217,14 +4217,16 @@ regen_list_done (struct _regen_list_msg *m) } } - if (message_list_length (m->ml) <= 0) { - /* space is used to indicate no search too */ - if (m->ml->search && strcmp (m->ml->search, " ") != 0) - e_tree_set_info_message (m->ml->tree, _("No message satisfies your search criteria. Either clear search with Search->Clear menu item or change it.")); - else - e_tree_set_info_message (m->ml->tree, _("There are no messages in this folder.")); - } else - e_tree_set_info_message (m->ml->tree, NULL); + if (GTK_WIDGET_VISIBLE (GTK_WIDGET (m->ml))) { + if (message_list_length (m->ml) <= 0) { + /* space is used to indicate no search too */ + if (m->ml->search && strcmp (m->ml->search, " ") != 0) + e_tree_set_info_message (m->ml->tree, _("No message satisfies your search criteria. Either clear search with Search->Clear menu item or change it.")); + else + e_tree_set_info_message (m->ml->tree, _("There are no messages in this folder.")); + } else + e_tree_set_info_message (m->ml->tree, NULL); + } g_signal_emit (m->ml, message_list_signals[MESSAGE_LIST_BUILT], 0); m->ml->priv->any_row_changed = FALSE; @@ -4369,12 +4371,14 @@ mail_regen_list (MessageList *ml, const char *search, const char *hideexpr, Came } if (message_list_length (ml) <= 0) { - /* there is some info why the message list is empty, let it be something useful */ - char *txt = g_strconcat (_("Generating message list"), "..." , NULL); + if (GTK_WIDGET_VISIBLE (GTK_WIDGET (ml))) { + /* there is some info why the message list is empty, let it be something useful */ + char *txt = g_strconcat (_("Generating message list"), "..." , NULL); - e_tree_set_info_message (m->ml->tree, txt); + e_tree_set_info_message (m->ml->tree, txt); - g_free (txt); + g_free (txt); + } } else if (ml->priv->any_row_changed && m->dotree && !ml->just_set_folder && (!ml->search || g_str_equal (ml->search, " "))) { /* there has been some change on any row, if it was an expand state change, then let it save; if not, then nothing happen. */ |