From f6b64ae1df4018a76f4ca65139c5880ac0d946f7 Mon Sep 17 00:00:00 2001 From: Jeffrey Stedfast Date: Sun, 15 Jul 2001 00:57:09 +0000 Subject: If the message info for an expunged message is NULL, then just break out - 2001-07-14 Jeffrey Stedfast * providers/imap/camel-imap-folder.c (camel_imap_folder_changed): If the message info for an expunged message is NULL, then just break out - maybe a message was expunged that we were never notified even existed? svn path=/trunk/; revision=11106 --- camel/ChangeLog | 7 +++++++ camel/providers/imap/camel-imap-folder.c | 6 ++++++ 2 files changed, 13 insertions(+) diff --git a/camel/ChangeLog b/camel/ChangeLog index 88fab1eafc..7e8e4f0481 100644 --- a/camel/ChangeLog +++ b/camel/ChangeLog @@ -1,3 +1,10 @@ +2001-07-14 Jeffrey Stedfast + + * providers/imap/camel-imap-folder.c (camel_imap_folder_changed): + If the message info for an expunged message is NULL, then just + break out - maybe a message was expunged that we were never + notified even existed? + 2001-07-13 Jeffrey Stedfast * camel-mime-utils.c (rfc2047_decode_word): Added a hack to diff --git a/camel/providers/imap/camel-imap-folder.c b/camel/providers/imap/camel-imap-folder.c index 1d119cf4d0..a6953c524e 100644 --- a/camel/providers/imap/camel-imap-folder.c +++ b/camel/providers/imap/camel-imap-folder.c @@ -1723,6 +1723,12 @@ camel_imap_folder_changed (CamelFolder *folder, int exists, for (i = 0; i < expunged->len; i++) { id = g_array_index (expunged, int, i); info = camel_folder_summary_index (folder->summary, id - 1); + if (info == NULL) { + /* FIXME: danw: does this mean that the summary is corrupt? */ + /* I guess a message that we never retrieved got expunged? */ + break; + } + camel_folder_change_info_remove_uid (changes, camel_message_info_uid (info)); CAMEL_IMAP_FOLDER_LOCK (imap_folder, cache_lock); camel_imap_message_cache_remove (imap_folder->cache, camel_message_info_uid (info)); -- cgit