From eb0bb1c1612041fa46b4c3b28def8447b1689313 Mon Sep 17 00:00:00 2001 From: Li Yuan Date: Fri, 7 Nov 2008 09:26:49 +0000 Subject: [PATCH] Bug #478583. Do not add the relation if it is already in the relationset. 2008-11-07 Li Yuan * atk/atkrelationset.c: (atk_relation_set_add): Bug #478583. Do not add the relation if it is already in the relationset. svn path=/trunk/; revision=1295 --- ChangeLog | 7 +++++++ atk/atkrelationset.c | 8 +++++++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index d2818fc..ed37dff 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,7 +1,14 @@ 2008-11-07 Li Yuan + * atk/atkrelationset.c: (atk_relation_set_add): + Bug #478583. Do not add the relation if it is already + in the relationset. + +2008-11-07 Li Yuan + * atk/atkutil.c: (atk_add_global_event_listener), (atk_add_key_event_listener): + Bug #480126. Change the return value to 0 if failure accroding to doc. 2008-09-22 Li Yuan diff --git a/atk/atkrelationset.c b/atk/atkrelationset.c index 7de1d62..3b975b7 100755 --- a/atk/atkrelationset.c +++ b/atk/atkrelationset.c @@ -151,6 +151,8 @@ void atk_relation_set_add (AtkRelationSet *set, AtkRelation *relation) { + AtkRelationType relationship; + g_return_if_fail (ATK_IS_RELATION_SET (set)); g_return_if_fail (relation != NULL); @@ -158,7 +160,11 @@ atk_relation_set_add (AtkRelationSet *set, { set->relations = g_ptr_array_new (); } - g_ptr_array_add (set->relations, relation); + relationship = atk_relation_get_relation_type (relation); + if (!atk_relation_set_contains (set, relationship)) + { + g_ptr_array_add (set->relations, relation); + } g_object_ref (relation); } -- 2.7.4