Add AT-SPI mapping for ATK_RELATION_NODE_PARENT_OF
[platform/core/uifw/at-spi2-atk.git] / atk-adaptor / adaptors / accessible-adaptor.c
index 9872c41..a8789c9 100644 (file)
@@ -145,7 +145,7 @@ impl_get_ChildCount (DBusMessageIter * iter, void *user_data)
 
   g_return_val_if_fail (ATK_IS_OBJECT (user_data), FALSE);
 
-  childCount = (ATK_IS_SOCKET (object) && atk_socket_is_occupied (object))
+  childCount = (ATK_IS_SOCKET (object) && atk_socket_is_occupied (ATK_SOCKET (object)))
                ? 1
                : atk_object_get_n_accessible_children (object);
   return droute_return_v_int32 (iter, childCount);
@@ -156,6 +156,7 @@ impl_GetChildAtIndex (DBusConnection * bus,
                       DBusMessage * message, void *user_data)
 {
   AtkObject *object = (AtkObject *) user_data;
+  DBusMessage *reply;
   DBusError error;
   dbus_int32_t i;
   AtkObject *child;
@@ -177,7 +178,6 @@ impl_GetChildAtIndex (DBusConnection * bus,
       child_path = g_utf8_strchr (child_name + 1, -1, ':');
       if (child_path)
         {
-          DBusMessage *reply;
           DBusMessageIter iter, iter_socket;
           *(child_path++) = '\0';
           reply = dbus_message_new_method_return (message);
@@ -194,7 +194,10 @@ impl_GetChildAtIndex (DBusConnection * bus,
       g_free (child_name);
     }
   child = atk_object_ref_accessible_child (object, i);
-  return spi_object_return_reference (message, child);
+  reply = spi_object_return_reference (message, child);
+  g_object_unref (child);
+
+  return reply;
 }
 
 static DBusMessage *
@@ -274,6 +277,7 @@ spi_init_relation_type_table (Accessibility_RelationType * types)
   types[ATK_RELATION_DESCRIPTION_FOR] =
     Accessibility_RELATION_DESCRIPTION_FOR;
   types[ATK_RELATION_DESCRIBED_BY] = Accessibility_RELATION_DESCRIBED_BY;
+  types[ATK_RELATION_NODE_PARENT_OF] = Accessibility_RELATION_NODE_PARENT_OF;
 
   return TRUE;
 }
@@ -495,8 +499,7 @@ static DBusMessage *
 impl_GetApplication (DBusConnection * bus,
                      DBusMessage * message, void *user_data)
 {
-  AtkObject *root = g_object_ref (atk_get_root ());
-  return spi_object_return_reference (message, root);
+  return spi_object_return_reference (message, atk_get_root ());
 }
 
 static DBusMessage *
@@ -504,8 +507,6 @@ impl_GetInterfaces (DBusConnection * bus,
                     DBusMessage * message, void *user_data)
 {
   AtkObject *object = (AtkObject *) user_data;
-  gint role;
-  const char *role_name;
   DBusMessage *reply;
   DBusMessageIter iter, iter_array;