Some refactoring to remove duplicate code and other clean-ups
[platform/core/uifw/at-spi2-atk.git] / atk-adaptor / adaptors / selection-adaptor.c
index bf12250..23b0a4f 100644 (file)
@@ -25,7 +25,7 @@
 #include <atk/atk.h>
 #include <droute/droute.h>
 
-#include "common/spi-dbus.h"
+#include "spi-dbus.h"
 #include "object.h"
 #include "introspection.h"
 
@@ -53,6 +53,7 @@ impl_GetSelectedChild (DBusConnection * bus, DBusMessage * message,
                        void *user_data)
 {
   AtkSelection *selection = (AtkSelection *) user_data;
+  DBusMessage *reply;
   DBusError error;
   dbus_int32_t selectedChildIndex;
   AtkObject *atk_object;
@@ -67,7 +68,10 @@ impl_GetSelectedChild (DBusConnection * bus, DBusMessage * message,
       return droute_invalid_arguments_error (message);
     }
   atk_object = atk_selection_ref_selection (selection, selectedChildIndex);
-  return spi_object_return_reference (message, atk_object);
+  reply = spi_object_return_reference (message, atk_object);
+  g_object_unref (atk_object);
+
+  return reply;
 }
 
 static DBusMessage *
@@ -255,7 +259,7 @@ void
 spi_initialize_selection (DRoutePath * path)
 {
   droute_path_add_interface (path,
-                             SPI_DBUS_INTERFACE_SELECTION,
-                             spi_org_freedesktop_atspi_Selection,
+                             ATSPI_DBUS_INTERFACE_SELECTION,
+                             spi_org_a11y_atspi_Selection,
                              methods, properties);
 };