Michael Catanzaro 3108ca
From 9b2c6f2f6d8ea9ec4d65f664910b73a6f317104b Mon Sep 17 00:00:00 2001
Michael Catanzaro 3108ca
From: Mike Gorse <mgorse@suse.com>
Michael Catanzaro 3108ca
Date: Thu, 2 Jun 2016 18:53:26 -0500
Michael Catanzaro 3108ca
Subject: Correctly handle at-spi2-registryd dying when processing
Michael Catanzaro 3108ca
 NameOwnerChanged
Michael Catanzaro 3108ca
Michael Catanzaro 3108ca
If at-spi2-registryd dies, then we receive two NameOwnerChanged signals,
Michael Catanzaro 3108ca
one for org.a11y.atspi.Registry and the other for the initial dbus-issued
Michael Catanzaro 3108ca
name. When we received the latter, we were matching it to the AtspiApplication
Michael Catanzaro 3108ca
corresponding to the desktop and inadvertently disposing it, leading to a
Michael Catanzaro 3108ca
crash later on.
Michael Catanzaro 3108ca
---
Michael Catanzaro 3108ca
 atspi/atspi-misc.c | 2 +-
Michael Catanzaro 3108ca
 1 file changed, 1 insertion(+), 1 deletion(-)
Michael Catanzaro 3108ca
Michael Catanzaro 3108ca
diff --git a/atspi/atspi-misc.c b/atspi/atspi-misc.c
Michael Catanzaro 3108ca
index 1ec9be1..1dcc3de 100644
Michael Catanzaro 3108ca
--- a/atspi/atspi-misc.c
Michael Catanzaro 3108ca
+++ b/atspi/atspi-misc.c
Michael Catanzaro 3108ca
@@ -389,7 +389,7 @@ handle_name_owner_changed (DBusConnection *bus, DBusMessage *message, void *user
Michael Catanzaro 3108ca
   else if (app_hash)
Michael Catanzaro 3108ca
   {
Michael Catanzaro 3108ca
     AtspiApplication *app = g_hash_table_lookup (app_hash, old);
Michael Catanzaro 3108ca
-    if (app)
Michael Catanzaro 3108ca
+    if (app && !strcmp (app->bus_name, old))
Michael Catanzaro 3108ca
       g_object_run_dispose (G_OBJECT (app));
Michael Catanzaro 3108ca
   }
Michael Catanzaro 3108ca
   return DBUS_HANDLER_RESULT_HANDLED;
Michael Catanzaro 3108ca
-- 
Michael Catanzaro 3108ca
cgit v0.12
Michael Catanzaro 3108ca