* in AT-SPI D-Bus so objects that are remotely owned are not
* allowed.
*
- * HACK - Needs permanent soltion.
* TODO Add debug wrapper
*/
static gboolean
{
if ((G_OBJECT (accessible))->ref_count <= 1)
{
- g_critical ("AT-SPI: Child referenced that is not owned by its parent");
+ g_warning ("AT-SPI: Child referenced that is not owned by its parent");
return TRUE;
}
else
state = atk_object_ref_state_set (accessible);
if (atk_state_set_contains_state (state, ATK_STATE_MANAGES_DESCENDANTS))
{
- g_message ("AT-SPI: Object with 'Manages descendants' states not currently handled by AT-SPI");
+ g_warning ("AT-SPI: Object with 'Manages descendants' states not currently handled by AT-SPI");
result = TRUE;
}
g_object_unref (state);
tmp = atk_object_ref_accessible_child (current, i);
/* TODO Add debug wrapper */
- if (non_owned_accessible (tmp))
- {
- i++;
- continue;
- }
+ non_owned_accessible (tmp);
if (object_to_ref (tmp))
{
if (!recurse)
{
- i++;
g_object_unref (G_OBJECT (tmp));
}
+
+ i++;
}
if (recurse)
current = tmp;
register_accessible (current);
- g_queue_peek_head_link (stack)->data = GINT_TO_POINTER (i+1);
+ g_queue_peek_head_link (stack)->data = GINT_TO_POINTER (i);
g_queue_push_head (stack, GINT_TO_POINTER (0));
}
else
* have their signals processed.
*/
accessible = g_value_get_object (¶m_values[0]);
+ g_assert (ATK_IS_OBJECT (accessible));
+
if (object_to_ref (accessible))
{
/* TODO Add debug wrapper */
if (recursion_check_and_set ())
- g_critical ("AT-SPI: Recursive use of registration module");
-
- if (!ATK_IS_OBJECT (accessible))
- g_critical ("AT-SPI: Object data updated when not a valid AtkObject");
+ g_warning ("AT-SPI: Recursive use of registration module");
values = (AtkPropertyValues*) g_value_get_pointer (¶m_values[1]);
pname = values[0].property_name;
if (strcmp (pname, "accessible-name") == 0 ||
- strcmp (pname, "accessible-description"))
- {
- update_accessible (accessible);
- }
- /* Parent updates not used */
- /* Parent value us updated buy child-add signal of parent object */
- /*
- else if (strcmp (pname, "accessible-parent"))
+ strcmp (pname, "accessible-description") == 0)
{
update_accessible (accessible);
}
- */
+ /* Parent value us updated by child-add signal of parent object */
+
recursion_check_unset ();
}
* have their signals processed.
*/
accessible = g_value_get_object (¶m_values[0]);
+ g_assert (ATK_IS_OBJECT (accessible));
+
if (object_to_ref (accessible))
{
/* TODO Add debug wrapper */
if (recursion_check_and_set ())
g_warning ("AT-SPI: Recursive use of registration module");
- if (!ATK_IS_OBJECT (accessible))
- g_critical ("AT-SPI: Object children updated when not a valid AtkObject");
-
if (signal_hint->detail)
- detail = g_quark_to_string (signal_hint->detail);
+ detail = g_quark_to_string (signal_hint->detail);
+
if (!strcmp (detail, "add"))
{
gpointer child;
{
child = atk_object_ref_accessible_child (accessible, index);
/* TODO Add debug wrapper */
- if (!non_owned_accessible (child))
- {
- register_subtree (child);
- }
+ non_owned_accessible (child);
}
- else
- {
- register_subtree (child);
- }
-
+ register_subtree (child);
}
recursion_check_unset ();