diff options
author | Jeffrey Stedfast <fejj@ximian.com> | 2001-11-17 06:54:19 +0800 |
---|---|---|
committer | Jeffrey Stedfast <fejj@src.gnome.org> | 2001-11-17 06:54:19 +0800 |
commit | e0103cdf6eb30c6ff17797ea341fe24b9e2987a3 (patch) | |
tree | b9615f39674f3e0efa1aa1aeb0e82dfec18c05e6 | |
parent | 71820c3740e8d74167f67b33bbc94edc8463e3af (diff) | |
download | gsoc2013-evolution-e0103cdf6eb30c6ff17797ea341fe24b9e2987a3.tar.gz gsoc2013-evolution-e0103cdf6eb30c6ff17797ea341fe24b9e2987a3.tar.zst gsoc2013-evolution-e0103cdf6eb30c6ff17797ea341fe24b9e2987a3.zip |
Save hide state. (message_list_hide_uids): Save hide state.
2001-11-16 Jeffrey Stedfast <fejj@ximian.com>
* message-list.c (message_list_hide_clear): Save hide state.
(message_list_hide_uids): Save hide state.
(message_list_hide_add): Save hide state.
* mail-format.c (format_mime_part): Make sure the mime-type is
non-NULL before passing it off to mail_lookup_handler().
svn path=/trunk/; revision=14734
-rw-r--r-- | mail/ChangeLog | 9 | ||||
-rw-r--r-- | mail/mail-format.c | 14 | ||||
-rw-r--r-- | mail/message-list.c | 8 |
3 files changed, 25 insertions, 6 deletions
diff --git a/mail/ChangeLog b/mail/ChangeLog index 4f016f5392..9a3da41705 100644 --- a/mail/ChangeLog +++ b/mail/ChangeLog @@ -1,3 +1,12 @@ +2001-11-16 Jeffrey Stedfast <fejj@ximian.com> + + * message-list.c (message_list_hide_clear): Save hide state. + (message_list_hide_uids): Save hide state. + (message_list_hide_add): Save hide state. + + * mail-format.c (format_mime_part): Make sure the mime-type is + non-NULL before passing it off to mail_lookup_handler(). + 2001-11-14 Zbigniew Chyla <cyba@gnome.pl> * mail-autofilter.c (rule_match_recipients, rule_from_message, diff --git a/mail/mail-format.c b/mail/mail-format.c index a0b848a202..8ec33cd83c 100644 --- a/mail/mail-format.c +++ b/mail/mail-format.c @@ -666,13 +666,17 @@ format_mime_part (CamelMimePart *part, MailDisplay *md) MailMimeHandler *handler; gboolean output; int inline_flags; - + /* Record URLs associated with this part */ get_cid (part, md); get_location (part, md); - + wrapper = camel_medium_get_content_object (CAMEL_MEDIUM (part)); - + if (wrapper == NULL) { + g_warning ("mime part does not contain any data"); + return TRUE; + } + if (CAMEL_IS_MULTIPART (wrapper) && camel_multipart_get_number (CAMEL_MULTIPART (wrapper)) == 0) { char *mesg; @@ -688,7 +692,7 @@ format_mime_part (CamelMimePart *part, MailDisplay *md) mime_type = camel_data_wrapper_get_mime_type (wrapper); g_strdown (mime_type); - handler = mail_lookup_handler (mime_type); + handler = mime_type ? mail_lookup_handler (mime_type) : NULL; if (!handler) { char *id_type; @@ -697,7 +701,7 @@ format_mime_part (CamelMimePart *part, MailDisplay *md) * evil infinite recursion. */ - if (!strcmp (mime_type, "application/mac-binhex40")) { + if (mime_type && !strcmp (mime_type, "application/mac-binhex40")) { handler = NULL; } else { id_type = mail_identify_mime_part (part, md); diff --git a/mail/message-list.c b/mail/message-list.c index bfa27783cb..4f9e141caa 100644 --- a/mail/message-list.c +++ b/mail/message-list.c @@ -2173,6 +2173,8 @@ message_list_hide_add (MessageList *ml, const char *expr, unsigned int lower, un MESSAGE_LIST_UNLOCK (ml, hide_lock); mail_regen_list (ml, ml->search, expr, NULL); + + hide_save_state (ml); } /* hide specific uid's */ @@ -2181,7 +2183,7 @@ message_list_hide_uids (MessageList *ml, GPtrArray *uids) { int i; char *uid; - + /* first see if we need to do any work, if so, then do it all at once */ for (i = 0; i < uids->len; i++) { if (g_hash_table_lookup (ml->uid_nodemap, uids->pdata[i])) { @@ -2204,6 +2206,8 @@ message_list_hide_uids (MessageList *ml, GPtrArray *uids) break; } } + + hide_save_state (ml); } /* no longer hide any messages */ @@ -2222,6 +2226,8 @@ message_list_hide_clear (MessageList *ml) MESSAGE_LIST_UNLOCK (ml, hide_lock); mail_regen_list (ml, ml->search, NULL, NULL); + + hide_save_state (ml); } #define HIDE_STATE_VERSION (1) |