DBusMessage * message, void *user_data)
{
AtkObject *object = (AtkObject *) user_data;
+ DBusMessage *reply;
DBusError error;
dbus_int32_t i;
AtkObject *child;
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);
g_free (child_name);
}
child = atk_object_ref_accessible_child (object, i);
- return spi_object_return_reference (message, child, TRUE);
+ reply = spi_object_return_reference (message, child);
+ g_object_unref (child);
+
+ return reply;
}
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, TRUE);
+ return spi_object_return_reference (message, atk_get_root ());
}
static DBusMessage *
static DBusMessage *
impl_GetRoot (DBusConnection * bus, DBusMessage * message, void *user_data)
{
- return spi_object_return_reference (message,
- g_object_ref (G_OBJECT (spi_global_app_data->root)),
- TRUE);
+ return spi_object_return_reference (message, spi_global_app_data->root);
}
/*---------------------------------------------------------------------------*/
AtkComponent *component = (AtkComponent *) user_data;
dbus_int32_t x, y;
dbus_uint32_t coord_type;
+ DBusMessage *reply;
DBusError error;
AtkObject *child;
child =
atk_component_ref_accessible_at_point (component, x, y,
(AtkCoordType) coord_type);
- return spi_object_return_reference (message, child, TRUE);
+ reply = spi_object_return_reference (message, child);
+ g_object_unref (child);
+
+ return child;
}
static DBusMessage *
return droute_invalid_arguments_error (message);
}
atk_object = atk_hyperlink_get_object (link, i);
- return spi_object_return_reference (message, atk_object, FALSE);
+ return spi_object_return_reference (message, atk_object);
}
static DBusMessage *
void *user_data)
{
AtkSelection *selection = (AtkSelection *) user_data;
+ DBusMessage *reply;
DBusError error;
dbus_int32_t selectedChildIndex;
AtkObject *atk_object;
return droute_invalid_arguments_error (message);
}
atk_object = atk_selection_ref_selection (selection, selectedChildIndex);
- return spi_object_return_reference (message, atk_object, TRUE);
+ reply = spi_object_return_reference (message, atk_object);
+ g_object_unref (atk_object);
+
+ return reply;
}
static DBusMessage *
{
AtkTable *table = (AtkTable *) user_data;
dbus_int32_t row, column;
+ DBusMessage *reply;
DBusError error;
AtkObject *obj;
return droute_invalid_arguments_error (message);
}
obj = atk_table_ref_at (table, row, column);
- return spi_object_return_reference (message, obj, TRUE);
+ reply = spi_object_return_reference (message, obj);
+ g_object_unref (obj);
+
+ return reply;
}
static DBusMessage *
return droute_invalid_arguments_error (message);
}
obj = atk_table_get_row_header (table, row);
- return spi_object_return_reference (message, obj, FALSE);
+ return spi_object_return_reference (message, obj);
}
static DBusMessage *
return droute_invalid_arguments_error (message);
}
obj = atk_table_get_column_header (table, column);
- return spi_object_return_reference (message, obj, FALSE);
+ return spi_object_return_reference (message, obj);
}
static DBusMessage *
}
DBusMessage *
-spi_object_return_reference (DBusMessage * msg, AtkObject * obj, gboolean unref)
+spi_object_return_reference (DBusMessage * msg, AtkObject * obj)
{
DBusMessage *reply;
dbus_message_iter_init_append (reply, &iter);
spi_object_append_reference (&iter, obj);
}
- if (unref && obj)
- g_object_unref (G_OBJECT (obj));
return reply;
}
spi_object_append_null_reference (DBusMessageIter * iter);
DBusMessage *
-spi_object_return_reference (DBusMessage * msg, AtkObject * obj, gboolean unref);
+spi_object_return_reference (DBusMessage * msg, AtkObject * obj);
DBusMessage *
spi_hyperlink_return_reference (DBusMessage * msg, AtkHyperlink * obj);