g_return_val_if_fail (root != NULL, NULL);
do {
reply = _atspi_dbus_call_partial (root, atspi_interface_accessible, "GetNavigableAtPoint", error, "iiu", d_x, d_y, d_ctype);
-
+ // call failed, error is set, so we bail out
+ if (!reply) {
+ if (deputy) g_object_unref(deputy);
+ if (return_value) g_object_unref(return_value);
+ return NULL;
+ }
_ATSPI_DBUS_CHECK_SIG (reply, "(so)y(so)", NULL, NULL);
dbus_message_iter_init (reply, &iter);
while(1) {
const char *path = are_objects_on_the_same_bus(root, start) ? root_path : "";
DBusMessage *reply = _atspi_dbus_call_partial (start, atspi_interface_accessible, "GetNeighbor", error, "sii", path, (int)direction, (int)search_mode);
+ // call failed, error is set, so we bail out
+ if (!reply) break;
_ATSPI_DBUS_CHECK_SIG (reply, "(so)y", error, NULL);
dbus_message_iter_init (reply, &iter);
// nothing found
g_object_unref(start);
- return_value = NULL;
break;
}
while(!g_queue_is_empty(children_root_stack))