[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]