[evolution-data-server/imap-pop-mobile: 11/11] Fix a crash while fetching old messages.



commit 8be039b6d15dbb6be320a4420cbb20c2e1cb7559
Author: Srinivasa Ragavan <sragavan gnome org>
Date:   Thu Jan 26 18:39:43 2012 +0530

    Fix a crash while fetching old messages.

 camel/providers/imapx/camel-imapx-server.c |   10 +++++++---
 1 files changed, 7 insertions(+), 3 deletions(-)
---
diff --git a/camel/providers/imapx/camel-imapx-server.c b/camel/providers/imapx/camel-imapx-server.c
index 91cb230..79a050e 100644
--- a/camel/providers/imapx/camel-imapx-server.c
+++ b/camel/providers/imapx/camel-imapx-server.c
@@ -4076,8 +4076,10 @@ imapx_command_step_fetch_done (CamelIMAPXServer *is,
 		g_free (r->uid);
 	}
 	g_array_free (job->u.refresh_info.infos, TRUE);
-	if (job->type == IMAPX_JOB_FETCH_NEW_MESSAGES || job->type == IMAPX_JOB_FETCH_MESSAGES)
+	if (job->type == IMAPX_JOB_FETCH_NEW_MESSAGES || job->type == IMAPX_JOB_FETCH_MESSAGES) {
 		camel_folder_change_info_free (job->u.refresh_info.changes);
+		job->u.refresh_info.changes = NULL;
+	}
 
 	imapx_job_done (is, job);
 	imapx_command_unref (ic);
@@ -4346,6 +4348,7 @@ imapx_command_fetch_new_messages_done (CamelIMAPXServer *is,
 
 exception:
 	camel_folder_change_info_free (ic->job->u.refresh_info.changes);
+	ic->job->u.refresh_info.changes = NULL;
 
 	imapx_job_done (is, ic->job);
 	imapx_command_unref (ic);
@@ -6375,10 +6378,11 @@ camel_imapx_server_fetch_messages (CamelIMAPXServer *is,
 
 	success = registered && imapx_run_job (is, job, error);
 
-	if (success && camel_folder_change_info_changed (job->u.refresh_info.changes))
+	if (success && job->u.refresh_info.changes && camel_folder_change_info_changed (job->u.refresh_info.changes))
 		camel_folder_changed (folder, job->u.refresh_info.changes);
 
-	camel_folder_change_info_free (job->u.refresh_info.changes);
+	if (job->u.refresh_info.changes)
+		camel_folder_change_info_free (job->u.refresh_info.changes);
 
 	uid = imapx_get_uid_from_index (folder->summary, 0);
 	newfirstuid = strtoull(uid, NULL, 10);



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]