[evolution-data-server] Bug #686727 - POP3 provider deadlocks on	finalize
- From: Milan Crha <mcrha src gnome org>
- To: commits-list gnome org
- Cc: 
- Subject: [evolution-data-server] Bug #686727 - POP3 provider deadlocks on	finalize
- Date: Wed, 24 Oct 2012 16:38:31 +0000 (UTC)
commit 3594576b5710f46d4ac6e3b1c014cc343943182c
Author: Milan Crha <mcrha redhat com>
Date:   Wed Oct 24 18:37:12 2012 +0200
    Bug #686727 - POP3 provider deadlocks on finalize
 camel/providers/pop3/camel-pop3-store.c |   12 +++++++++++-
 1 files changed, 11 insertions(+), 1 deletions(-)
---
diff --git a/camel/providers/pop3/camel-pop3-store.c b/camel/providers/pop3/camel-pop3-store.c
index e934e7a..f721668 100644
--- a/camel/providers/pop3/camel-pop3-store.c
+++ b/camel/providers/pop3/camel-pop3-store.c
@@ -330,7 +330,7 @@ exit:
 }
 
 static void
-pop3_store_finalize (GObject *object)
+pop3_store_dispose (GObject *object)
 {
 	CamelPOP3Store *pop3_store = CAMEL_POP3_STORE (object);
 
@@ -339,6 +339,15 @@ pop3_store_finalize (GObject *object)
 	camel_service_disconnect_sync (
 		CAMEL_SERVICE (pop3_store), TRUE, NULL, NULL);
 
+	/* Chain up to parent's dispose() method. */
+	G_OBJECT_CLASS (camel_pop3_store_parent_class)->dispose (object);
+}
+
+static void
+pop3_store_finalize (GObject *object)
+{
+	CamelPOP3Store *pop3_store = CAMEL_POP3_STORE (object);
+
 	if (pop3_store->engine)
 		g_object_unref (pop3_store->engine);
 	if (pop3_store->cache)
@@ -775,6 +784,7 @@ camel_pop3_store_class_init (CamelPOP3StoreClass *class)
 	CamelStoreClass *store_class;
 
 	object_class = G_OBJECT_CLASS (class);
+	object_class->dispose = pop3_store_dispose;
 	object_class->finalize = pop3_store_finalize;
 
 	service_class = CAMEL_SERVICE_CLASS (class);
[
Date Prev][
Date Next]   [
Thread Prev][
Thread Next]   
[
Thread Index]
[
Date Index]
[
Author Index]