[bijiben] manager: Fix circular reference
- From: Isaque Galdino de Araujo <igaldino src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [bijiben] manager: Fix circular reference
- Date: Wed, 18 Apr 2018 03:23:10 +0000 (UTC)
commit ceea7d64f6f6e62109ba2feb271bb196f2c42de7
Author: Isaque Galdino <igaldino gmail com>
Date: Wed Apr 18 00:16:28 2018 -0300
manager: Fix circular reference
Manager object keeps a list of Provider objects and the latter was also
keeping hard references to the former. That was also true for Item
objects.
This patch fix that, keeping only pointers to Manager in Provider and
Item objects.
src/libbiji/biji-item.c | 5 +----
src/libbiji/provider/biji-provider.c | 5 +----
2 files changed, 2 insertions(+), 8 deletions(-)
---
diff --git a/src/libbiji/biji-item.c b/src/libbiji/biji-item.c
index ae8aa7e..e691a37 100644
--- a/src/libbiji/biji-item.c
+++ b/src/libbiji/biji-item.c
@@ -63,7 +63,7 @@ biji_item_set_property (GObject *object,
switch (property_id)
{
case PROP_BOOK:
- priv->manager = g_value_dup_object (value);
+ priv->manager = g_value_get_object (value);
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
@@ -151,9 +151,6 @@ biji_item_class_init (BijiItemClass *klass)
static void
biji_item_finalize (GObject *object)
{
- BijiItemPrivate *priv = biji_item_get_instance_private (BIJI_ITEM (object));
- g_clear_object (&priv->manager);
-
G_OBJECT_CLASS (biji_item_parent_class)->finalize (object);
}
diff --git a/src/libbiji/provider/biji-provider.c b/src/libbiji/provider/biji-provider.c
index 0b51e89..8e41bcb 100644
--- a/src/libbiji/provider/biji-provider.c
+++ b/src/libbiji/provider/biji-provider.c
@@ -111,9 +111,6 @@ biji_provider_load_archives (BijiProvider *provider)
static void
biji_provider_finalize (GObject *object)
{
- BijiProviderPrivate *priv = biji_provider_get_instance_private (BIJI_PROVIDER (object));
- g_clear_object (&priv->manager);
-
G_OBJECT_CLASS (biji_provider_parent_class)->finalize (object);
}
@@ -156,7 +153,7 @@ biji_provider_set_property (GObject *object,
switch (property_id)
{
case PROP_BOOK:
- priv->manager = g_value_dup_object (value);
+ priv->manager = g_value_get_object (value);
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]