[evolution-data-server] Bug #639201 - Crash on startup - pop3_get_message, camel_pop3_delete_old
- From: Milan Crha <mcrha src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [evolution-data-server] Bug #639201 - Crash on startup - pop3_get_message, camel_pop3_delete_old
- Date: Tue, 22 Feb 2011 08:09:38 +0000 (UTC)
commit a3a146f93949ff0e4dd8d08378e719e2bf9b9187
Author: Milan Crha <mcrha redhat com>
Date: Tue Feb 22 09:09:05 2011 +0100
Bug #639201 - Crash on startup - pop3_get_message, camel_pop3_delete_old
camel/providers/pop3/camel-pop3-folder.c | 15 +++++++++++++++
1 files changed, 15 insertions(+), 0 deletions(-)
---
diff --git a/camel/providers/pop3/camel-pop3-folder.c b/camel/providers/pop3/camel-pop3-folder.c
index a3459e9..991eff8 100644
--- a/camel/providers/pop3/camel-pop3-folder.c
+++ b/camel/providers/pop3/camel-pop3-folder.c
@@ -321,6 +321,8 @@ pop3_folder_get_message_sync (CamelFolder *folder,
gint i, last;
CamelStream *stream = NULL;
+ g_return_val_if_fail (uid != NULL, NULL);
+
parent_store = camel_folder_get_parent_store (folder);
pop3_folder = CAMEL_POP3_FOLDER (folder);
@@ -736,6 +738,19 @@ camel_pop3_delete_old (CamelFolder *folder,
message_time = 0;
fi = pop3_folder->uids->pdata[i];
+ if (fi->cmd) {
+ while (camel_pop3_engine_iterate (pop3_store->engine, fi->cmd) > 0) {
+ ; /* do nothing - iterating until end */
+ }
+
+ camel_pop3_engine_command_free (pop3_store->engine, fi->cmd);
+ fi->cmd = NULL;
+ }
+
+ /* continue, if message wasn't received yet */
+ if (!fi->uid)
+ continue;
+
d(printf("%s(%d): fi->uid=[%s]\n", __FILE__, __LINE__, fi->uid));
if (!pop3_get_message_time_from_cache (folder, fi->uid, &message_time)) {
d(printf("could not get message time from cache, trying from pop3\n"));
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]