[at-spi2-core] Make sure that disconnecting applications send their root path in the remove applications signal. Th



commit 7cd63cb9cfd07580031a42acf706343f685c5c81
Author: Mark Doffman <mark doffman codethink co uk>
Date:   Sat May 15 11:08:16 2010 +0100

    Make sure that disconnecting applications send their root path in the
    remove applications signal. This was causing applications to not be
    removed from the desktop properly.

 registryd/registry.c |   11 ++++++-----
 1 files changed, 6 insertions(+), 5 deletions(-)
---
diff --git a/registryd/registry.c b/registryd/registry.c
index e2ab4c8..6ff094b 100644
--- a/registryd/registry.c
+++ b/registryd/registry.c
@@ -182,10 +182,11 @@ set_id (SpiRegistry *reg, DBusConnection *bus, const gchar *name, const gchar *p
 static void
 remove_application (SpiRegistry *reg, DBusConnection *bus, guint index)
 {
-  const gchar *name = "";
-  g_ptr_array_remove_index (reg->apps, index);
+  SpiReference *ref = g_ptr_array_index (reg->apps, index);
+
   /*TODO spi_remove_device_listeners (registry->de_controller, old);*/
-  children_removed_listener (bus, index, name, SPI_DBUS_PATH_NULL);
+  children_removed_listener (bus, index, ref->name, ref->path);
+  g_ptr_array_remove_index (reg->apps, index);
 }
 
 static void
@@ -209,8 +210,8 @@ handle_disconnection (DBusConnection *bus, DBusMessage *message, void *user_data
               SpiReference *ref  = g_ptr_array_index (reg->apps, i);
               while (!g_strcmp0 (old, ref->name))
                 {
+                  children_removed_listener (bus, i, old, ref->path);
                   g_ptr_array_remove_index (reg->apps, i);
-                  children_removed_listener (bus, i, old, SPI_DBUS_PATH_NULL);
                 }
             } 
         }
@@ -790,7 +791,7 @@ children_removed_listener (DBusConnection * bus,
                            const gchar    * path)
 {
   emit_event (bus, SPI_DBUS_INTERFACE_EVENT_OBJECT, "ChildrenChanged", "remove", index, 0,
-              name, SPI_DBUS_PATH_NULL);
+              name, path);
 }
 
 /*---------------------------------------------------------------------------*/



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]