aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--camel/ChangeLog2
-rw-r--r--camel/providers/pop3/camel-pop3-folder.c7
2 files changed, 6 insertions, 3 deletions
diff --git a/camel/ChangeLog b/camel/ChangeLog
index ce8fbb2673..662881695b 100644
--- a/camel/ChangeLog
+++ b/camel/ChangeLog
@@ -2,6 +2,8 @@
* providers/pop3/camel-pop3-folder.c (pop3_get_message_stream):
Set the total bytes expected to 0 if the response is empty too.
+ (pop3_refresh_info): Return of there was an error generating pop3
+ uids.
* camel-mime-utils.c (header_raw_check_mailing_list): regfree the
pattern before continue'ing. This was showing up quite a bit under
diff --git a/camel/providers/pop3/camel-pop3-folder.c b/camel/providers/pop3/camel-pop3-folder.c
index 8258114585..bb6b0f9171 100644
--- a/camel/providers/pop3/camel-pop3-folder.c
+++ b/camel/providers/pop3/camel-pop3-folder.c
@@ -222,12 +222,13 @@ pop3_refresh_info (CamelFolder *folder, CamelException *ex)
if (pop3_store->supports_uidl == FALSE) {
uids = pop3_generate_uids (folder, count, ex);
-
camel_operation_end (NULL);
+ if (!uids || camel_exception_is_set (ex))
+ return;
} else {
data = camel_pop3_command_get_additional_data (pop3_store, 0, ex);
- camel_operation_end(NULL);
- if (camel_exception_is_set (ex))
+ camel_operation_end (NULL);
+ if (!data || camel_exception_is_set (ex))
return;
uids = parse_listing (count, data);