[evolution-ews] Bug #675442 - Crash in ews_active_job_done()



commit 6b447b313316cd6d2e350f5d41514f7c6a323515
Author: Milan Crha <mcrha redhat com>
Date:   Wed Jul 18 21:21:13 2012 +0200

    Bug #675442 - Crash in ews_active_job_done()

 src/server/e-ews-connection.c |    6 +++++-
 1 files changed, 5 insertions(+), 1 deletions(-)
---
diff --git a/src/server/e-ews-connection.c b/src/server/e-ews-connection.c
index 3123ddb..c4a9093 100644
--- a/src/server/e-ews-connection.c
+++ b/src/server/e-ews-connection.c
@@ -408,6 +408,10 @@ ews_active_job_done (EEwsConnection *cnc,
 	QUEUE_UNLOCK (cnc);
 
 	ews_trigger_next_request (cnc);
+
+	if (ews_node->cancellable)
+		g_object_unref (ews_node->cancellable);
+
 	/* the 'simple' holds reference on 'cnc' and this function
 	 * is called in a dedicated thread, which 'cnc' joins on dispose,
 	 * thus to avoid race condition, unref the object in its own thread */
@@ -470,7 +474,7 @@ e_ews_connection_queue_request (EEwsConnection *cnc,
 	QUEUE_UNLOCK (cnc);
 
 	if (cancellable) {
-		node->cancellable = cancellable;
+		node->cancellable = g_object_ref (cancellable);
 		node->cancel_handler_id = g_cancellable_connect	(cancellable,
 								 G_CALLBACK (ews_cancel_request),
 								 (gpointer) node, NULL);



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