diff options
author | Mike Gorse <mgorse@suse.com> | 2016-06-02 18:53:26 -0500 |
---|---|---|
committer | Mike Gorse <mgorse@suse.com> | 2016-06-02 18:53:26 -0500 |
commit | a61ec0f6086b81fc9c9d811d48069228ac9c5f34 (patch) | |
tree | 73f312724f62c56142f923fb8f7f061e78cae55f | |
parent | cdb353694464aeb1686fa7a559db38945aa28eee (diff) | |
download | at-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.c | 2 |
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; |