[gtk+] a11y: Don't unref relations
- From: Benjamin Otte <otte src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+] a11y: Don't unref relations
- Date: Mon, 24 Mar 2014 15:38:33 +0000 (UTC)
commit fef14e0e87d226f7b73d35d548250effcef238ff
Author: Benjamin Otte <otte redhat com>
Date: Mon Mar 24 16:32:59 2014 +0100
a11y: Don't unref relations
Nobody was reffing those related object in the first place and that
was causing random crashes.
And if somebody had reffed those related objects, they'd have caused
reference cycles.
https://bugzilla.gnome.org/show_bug.cgi?id=726838
gtk/a11y/gtkcellaccessible.c | 32 --------------------------------
1 files changed, 0 insertions(+), 32 deletions(-)
---
diff --git a/gtk/a11y/gtkcellaccessible.c b/gtk/a11y/gtkcellaccessible.c
index 8251771..051abec 100644
--- a/gtk/a11y/gtkcellaccessible.c
+++ b/gtk/a11y/gtkcellaccessible.c
@@ -52,35 +52,6 @@ G_DEFINE_TYPE_WITH_CODE (GtkCellAccessible, gtk_cell_accessible, GTK_TYPE_ACCESS
G_IMPLEMENT_INTERFACE (ATK_TYPE_ACTION, atk_action_interface_init)
G_IMPLEMENT_INTERFACE (ATK_TYPE_COMPONENT, atk_component_interface_init))
-static void
-gtk_cell_accessible_object_finalize (GObject *obj)
-{
- AtkRelationSet *relation_set;
- AtkRelation *relation;
- GPtrArray *target;
- gpointer target_object;
- gint i;
-
- relation_set = atk_object_ref_relation_set (ATK_OBJECT (obj));
- if (ATK_IS_RELATION_SET (relation_set))
- {
- relation = atk_relation_set_get_relation_by_type (relation_set,
- ATK_RELATION_NODE_CHILD_OF);
- if (relation)
- {
- target = atk_relation_get_target (relation);
- for (i = 0; i < target->len; i++)
- {
- target_object = g_ptr_array_index (target, i);
- if (GTK_IS_CELL_ACCESSIBLE (target_object))
- g_object_unref (target_object);
- }
- }
- g_object_unref (relation_set);
- }
- G_OBJECT_CLASS (gtk_cell_accessible_parent_class)->finalize (obj);
-}
-
static gint
gtk_cell_accessible_get_index_in_parent (AtkObject *obj)
{
@@ -156,9 +127,6 @@ static void
gtk_cell_accessible_class_init (GtkCellAccessibleClass *klass)
{
AtkObjectClass *class = ATK_OBJECT_CLASS (klass);
- GObjectClass *g_object_class = G_OBJECT_CLASS (klass);
-
- g_object_class->finalize = gtk_cell_accessible_object_finalize;
class->get_index_in_parent = gtk_cell_accessible_get_index_in_parent;
class->ref_state_set = gtk_cell_accessible_ref_state_set;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]