Returns FALSE on atk_object_add_relationship if it is already included
authorAlejandro Piñeiro <apinheiro@igalia.com>
Sun, 2 Jan 2011 00:43:10 +0000 (01:43 +0100)
committerAlejandro Piñeiro <apinheiro@igalia.com>
Wed, 5 Jan 2011 11:41:57 +0000 (12:41 +0100)
Fixes GB#578602

atk/atkobject.c

index 988cb5c..fd23b33 100755 (executable)
@@ -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);