aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mail/ChangeLog9
-rw-r--r--mail/em-format-html-display.c7
-rw-r--r--mail/message-list.c28
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. */