summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlejandro Piñeiro <apinheiro@igalia.com>2011-01-02 01:43:10 +0100
committerAlejandro Piñeiro <apinheiro@igalia.com>2011-01-05 12:41:57 +0100
commit532a4b637e2696ee6fbceb0cb4bd4327fd8566dd (patch)
treeb2412ebd9e28aa4a6216e804f672ef790438b97b
parente5331136db1fa1fe60b29f320abe6f470e384a3c (diff)
downloadatk-532a4b637e2696ee6fbceb0cb4bd4327fd8566dd.tar.gz
Returns FALSE on atk_object_add_relationship if it is already included
Fixes GB#578602
-rwxr-xr-xatk/atkobject.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/atk/atkobject.c b/atk/atkobject.c
index 988cb5c..fd23b33 100755
--- a/atk/atkobject.c
+++ b/atk/atkobject.c
@@ -1589,6 +1589,9 @@ atk_object_add_relationship (AtkObject *object,
g_return_val_if_fail (ATK_IS_OBJECT (object), FALSE);
g_return_val_if_fail (ATK_IS_OBJECT (target), FALSE);
+ if (atk_relation_set_contains (object->relation_set, relationship))
+ return FALSE;
+
array[0] = target;
relation = atk_relation_new (array, 1, relationship);
atk_relation_set_add (object->relation_set, relation);