summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--atspi/atspi-misc.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/atspi/atspi-misc.c b/atspi/atspi-misc.c
index 11f37da2..fa6929b3 100644
--- a/atspi/atspi-misc.c
+++ b/atspi/atspi-misc.c
@@ -596,7 +596,14 @@ add_accessible_from_iter (DBusMessageIter *iter)
parent = _atspi_dbus_consume_accessible (&iter_struct);
if (accessible->accessible_parent)
g_object_unref (accessible->accessible_parent);
- accessible->accessible_parent = parent;
+ if (parent == accessible)
+ {
+ guint pid = atspi_accessible_get_process_id (accessible, NULL);
+ g_warning ("Process %d sent an accessible with itself as its parent. This shouldn't happen.", pid);
+ accessible->accessible_parent = NULL;
+ }
+ else
+ accessible->accessible_parent = parent;
if (dbus_message_iter_get_arg_type (&iter_struct) == 'i')
{