Fix mouse click events. They were not being sent with their application.
[platform/upstream/at-spi2-core.git] / registryd / deviceeventcontroller.c
index d094f2c..8e0b856 100644 (file)
@@ -396,14 +396,21 @@ spi_dec_clear_unlatch_pending (SpiDEController *controller)
 static void emit(SpiDEController *controller, const char *interface, const char *name, const char *minor, int a1, int a2)
 {
   DBusMessage *signal = NULL;
-  DBusMessageIter iter, iter_variant;
+  DBusMessageIter iter, iter_struct, iter_variant;
   int nil = 0;
-  const char *path = SPI_DBUS_PATH_DESKTOP;
+  const char *path = SPI_DBUS_PATH_ROOT;
+  const char *bus_name = dbus_bus_get_unique_name (controller->bus);
 
   signal = dbus_message_new_signal (path, interface, name);
 
   dbus_message_iter_init_append (signal, &iter);
 
+  dbus_message_iter_open_container (&iter, DBUS_TYPE_STRUCT, NULL,
+                                    &iter_struct);
+  dbus_message_iter_append_basic (&iter_struct, DBUS_TYPE_STRING, &bus_name);
+  dbus_message_iter_append_basic (&iter_struct, DBUS_TYPE_OBJECT_PATH, &path);
+  dbus_message_iter_close_container (&iter, &iter_struct);
+  
   dbus_message_iter_append_basic (&iter, DBUS_TYPE_STRING, &minor);
   dbus_message_iter_append_basic (&iter, DBUS_TYPE_UINT32, &a1);
   dbus_message_iter_append_basic (&iter, DBUS_TYPE_UINT32, &a2);