aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJeffrey Stedfast <fejj@ximian.com>2001-07-15 08:57:09 +0800
committerJeffrey Stedfast <fejj@src.gnome.org>2001-07-15 08:57:09 +0800
commitf6b64ae1df4018a76f4ca65139c5880ac0d946f7 (patch)
tree6c632536c420db374427f07c321505a7b83c1e2d
parent85fc54d6d55874c4e82b00a8edcc31b09de36d07 (diff)
downloadgsoc2013-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/ChangeLog7
-rw-r--r--camel/providers/imap/camel-imap-folder.c6
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));