GHashTable *
_atspi_get_live_refs (void)
{
- if (!live_refs)
+ if (!live_refs)
{
live_refs = g_hash_table_new (g_direct_hash, g_direct_equal);
}
return app;
}
-static AtspiAccessible *
+AtspiAccessible *
ref_accessible (const char *app_name, const char *path)
{
AtspiApplication *app;
DBusMessageIter iter;
AtspiHyperlink *retval = NULL;
const char *signature;
-
+
if (!message)
return NULL;
*
* Connects to the accessibility registry and initializes the SPI.
*
- * Returns: 0 on success, 1 if already initialized, or an integer error code.
+ * Returns: 0 on success, 1 if already initialized, or an integer error code.
**/
int
atspi_init (void)
/**
* atspi_exit:
*
- * Disconnects from #AtspiRegistry instances and releases
+ * Disconnects from #AtspiRegistry instances and releases
* any floating resources. Call only once at exit.
*
* Returns: 0 if there were no leaks, otherwise other integer values.
{
AtspiObject *aobj = ATSPI_OBJECT (obj);
DBusError err;
- DBusMessage *msg = NULL, *reply = NULL;
- DBusMessageIter iter;
- const char *p;
+ DBusMessage *msg = NULL, *reply = NULL;
+ DBusMessageIter iter;
+ const char *p;
dbus_error_init (&err);
process_deferred_messages ();
if (dbus_error_is_set (&err))
{
- /* TODO: Set gerror */
+ g_set_error_literal(error, ATSPI_ERROR, ATSPI_ERROR_IPC, err.message);
dbus_error_free (&err);
+ if (reply)
+ dbus_message_unref(reply);
}
-
- if (reply && dbus_message_get_type (reply) == DBUS_MESSAGE_TYPE_ERROR)
+ else if (reply && dbus_message_get_type(reply) == DBUS_MESSAGE_TYPE_ERROR)
{
const char *err_str = NULL;
dbus_message_get_args (reply, NULL, DBUS_TYPE_STRING, &err_str, DBUS_TYPE_INVALID);
dbus_message_unref (reply);
return NULL;
}
-
return reply;
}
g_warning ("Could not open X display");
return NULL;
}
-
+
AT_SPI_BUS = XInternAtom (bridge_display, "AT_SPI_BUS", False);
XGetWindowProperty (bridge_display,
XDefaultRootWindow (bridge_display),
dbus_error_free (&error);
goto out;
}
-
+
{
const char *tmp_address;
if (!dbus_message_get_args (reply,
return NULL;
}
}
-
+
/* Simulate a weak ref on the bus */
dbus_connection_set_data (a11y_bus, a11y_dbus_slot, a11y_bus, a11y_bus_free);
g_value_set_boxed (val, &extents);
}
if (val)
- g_hash_table_insert (cache, g_strdup (key), val);
+ g_hash_table_insert (cache, g_strdup (key), val);
dbus_message_iter_next (&iter_dict);
}