diff options
author | Not Zed <NotZed@Ximian.com> | 2001-07-25 10:15:05 +0800 |
---|---|---|
committer | Michael Zucci <zucchi@src.gnome.org> | 2001-07-25 10:15:05 +0800 |
commit | fc49986ee1e24c28eced9cdff1813ea34ee68755 (patch) | |
tree | 7691f0a01612fb74ec3104767741220508dec080 /camel | |
parent | b834d6590e8f93b21f4d07edc0d666a6c9035473 (diff) | |
download | gsoc2013-evolution-fc49986ee1e24c28eced9cdff1813ea34ee68755.tar.gz gsoc2013-evolution-fc49986ee1e24c28eced9cdff1813ea34ee68755.tar.zst gsoc2013-evolution-fc49986ee1e24c28eced9cdff1813ea34ee68755.zip |
Change the break into a continue, we should process as many as we can
2001-07-24 Not Zed <NotZed@Ximian.com>
* providers/imap/camel-imap-folder.c (camel_imap_folder_changed):
Change the break into a continue, we should process as many as we
can find.
* camel-folder.c (camel_folder_move_messages_to): If we have no
uid's to copy, exit here before going any further. Some code
internally [imap] assumes there are uids to copy otherwise it can
segfault.
(camel_folder_copy_messages_to): Same.
svn path=/trunk/; revision=11392
Diffstat (limited to 'camel')
-rw-r--r-- | camel/ChangeLog | 12 | ||||
-rw-r--r-- | camel/camel-folder.c | 8 | ||||
-rw-r--r-- | camel/providers/imap/camel-imap-folder.c | 2 |
3 files changed, 17 insertions, 5 deletions
diff --git a/camel/ChangeLog b/camel/ChangeLog index 549841417e..211f714473 100644 --- a/camel/ChangeLog +++ b/camel/ChangeLog @@ -1,3 +1,15 @@ +2001-07-24 Not Zed <NotZed@Ximian.com> + + * providers/imap/camel-imap-folder.c (camel_imap_folder_changed): + Change the break into a continue, we should process as many as we + can find. + + * camel-folder.c (camel_folder_move_messages_to): If we have no + uid's to copy, exit here before going any further. Some code + internally [imap] assumes there are uids to copy otherwise it can + segfault. + (camel_folder_copy_messages_to): Same. + 2001-07-24 Jeffrey Stedfast <fejj@ximian.com> * camel-mime-utils.c (header_decode_param): Handle broken mailers diff --git a/camel/camel-folder.c b/camel/camel-folder.c index 2326fb6300..ca40c8b0dc 100644 --- a/camel/camel-folder.c +++ b/camel/camel-folder.c @@ -1147,8 +1147,8 @@ camel_folder_copy_messages_to (CamelFolder *source, GPtrArray *uids, g_return_if_fail (CAMEL_IS_FOLDER (dest)); g_return_if_fail (uids != NULL); - if (source == dest) { - /* source and destination folders are the same, do nothing. */ + if (source == dest || uids->len == 0) { + /* source and destination folders are the same, or no work to do, do nothing. */ return; } @@ -1228,8 +1228,8 @@ camel_folder_move_messages_to (CamelFolder *source, GPtrArray *uids, g_return_if_fail (CAMEL_IS_FOLDER (dest)); g_return_if_fail (uids != NULL); - if (source == dest) { - /* source and destination folders are the same, nothing to do. */ + if (source == dest || uids->len == 0) { + /* source and destination folders are the same, or no work to do, nothing to do. */ return; } diff --git a/camel/providers/imap/camel-imap-folder.c b/camel/providers/imap/camel-imap-folder.c index 36136d452c..88b8e5f1b5 100644 --- a/camel/providers/imap/camel-imap-folder.c +++ b/camel/providers/imap/camel-imap-folder.c @@ -1681,7 +1681,7 @@ camel_imap_folder_changed (CamelFolder *folder, int exists, if (info == NULL) { /* FIXME: danw: does this mean that the summary is corrupt? */ /* I guess a message that we never retrieved got expunged? */ - break; + continue; } camel_folder_change_info_remove_uid (changes, camel_message_info_uid (info)); |