If at-spi2-registryd dies, then we receive two NameOwnerChanged signals,
one for org.a11y.atspi.Registry and the other for the initial dbus-issued
name. When we received the latter, we were matching it to the AtspiApplication
corresponding to the desktop and inadvertently disposing it, leading to a
crash later on.
else if (app_hash)
{
AtspiApplication *app = g_hash_table_lookup (app_hash, old);
- if (app)
+ if (app && !strcmp (app->bus_name, old))
g_object_run_dispose (G_OBJECT (app));
}
return DBUS_HANDLER_RESULT_HANDLED;