diff options
author | Jeffrey Stedfast <fejj@ximian.com> | 2001-07-15 08:57:09 +0800 |
---|---|---|
committer | Jeffrey Stedfast <fejj@src.gnome.org> | 2001-07-15 08:57:09 +0800 |
commit | f6b64ae1df4018a76f4ca65139c5880ac0d946f7 (patch) | |
tree | 6c632536c420db374427f07c321505a7b83c1e2d | |
parent | 85fc54d6d55874c4e82b00a8edcc31b09de36d07 (diff) | |
download | gsoc2013-evolution-f6b64ae1df4018a76f4ca65139c5880ac0d946f7.tar.gz gsoc2013-evolution-f6b64ae1df4018a76f4ca65139c5880ac0d946f7.tar.zst gsoc2013-evolution-f6b64ae1df4018a76f4ca65139c5880ac0d946f7.zip |
If the message info for an expunged message is NULL, then just break out -
2001-07-14 Jeffrey Stedfast <fejj@ximian.com>
* 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
-rw-r--r-- | camel/ChangeLog | 7 | ||||
-rw-r--r-- | camel/providers/imap/camel-imap-folder.c | 6 |
2 files changed, 13 insertions, 0 deletions
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 <fejj@ximian.com> + + * 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 <fejj@ximian.com> * 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)); |