summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Gorse <mgorse@suse.com>2016-06-02 18:53:26 -0500
committerMike Gorse <mgorse@suse.com>2016-06-02 18:53:26 -0500
commita61ec0f6086b81fc9c9d811d48069228ac9c5f34 (patch)
tree73f312724f62c56142f923fb8f7f061e78cae55f
parentcdb353694464aeb1686fa7a559db38945aa28eee (diff)
downloadat-spi2-core-a61ec0f6086b81fc9c9d811d48069228ac9c5f34.tar.gz
Correctly handle at-spi2-registryd dying when processing NameOwnerChanged
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.
-rw-r--r--atspi/atspi-misc.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/atspi/atspi-misc.c b/atspi/atspi-misc.c
index 1ec9be15..1dcc3dea 100644
--- a/atspi/atspi-misc.c
+++ b/atspi/atspi-misc.c
@@ -389,7 +389,7 @@ handle_name_owner_changed (DBusConnection *bus, DBusMessage *message, void *user
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;