* atk-bridge/bridge.c (spi_atk_bridge_signal_listener):
authorpadraigo <padraigo@e2bd861d-eb25-0410-b326-f6ed22b6b98c>
Mon, 19 Aug 2002 09:33:55 +0000 (09:33 +0000)
committerpadraigo <padraigo@e2bd861d-eb25-0410-b326-f6ed22b6b98c>
Mon, 19 Aug 2002 09:33:55 +0000 (09:33 +0000)
If signal has detail add it to the type of the event.
(bug #90838)

git-svn-id: http://svn.gnome.org/svn/at-spi/trunk@332 e2bd861d-eb25-0410-b326-f6ed22b6b98c

ChangeLog
atk-bridge/bridge.c

index b7f6f0c..6487a92 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2002-08-19  Padraig O'Briain  <padraig.obriain@sun.com>
+
+       * atk-bridge/bridge.c (spi_atk_bridge_signal_listener):
+       If signal has detail add it to the type of the event.
+       (bug #90838)
+       
 2002-08-12  Michael Meeks  <michael@ximian.com>
 
        * test/test-simple.c (global_listener_cb): bin bogosity.
 2002-08-12  Michael Meeks  <michael@ximian.com>
 
        * test/test-simple.c (global_listener_cb): bin bogosity.
index cb46eaa..1731497 100644 (file)
@@ -591,6 +591,8 @@ spi_atk_bridge_signal_listener (GSignalInvocationHint *signal_hint,
   GObject *gobject;
   GSignalQuery signal_query;
   const gchar *name;
   GObject *gobject;
   GSignalQuery signal_query;
   const gchar *name;
+  const gchar *detail;
+  
   gint detail1 = 0, detail2 = 0;
 #ifdef SPI_BRIDGE_DEBUG
   const gchar *s, *s2;
   gint detail1 = 0, detail2 = 0;
 #ifdef SPI_BRIDGE_DEBUG
   const gchar *s, *s2;
@@ -599,12 +601,17 @@ spi_atk_bridge_signal_listener (GSignalInvocationHint *signal_hint,
   g_signal_query (signal_hint->signal_id, &signal_query);
 
   name = signal_query.signal_name;
   g_signal_query (signal_hint->signal_id, &signal_query);
 
   name = signal_query.signal_name;
+  if (signal_hint->detail)
+    detail = g_quark_to_string (signal_hint->detail);
+  else
+    detail = NULL;
 
 #ifdef SPI_BRIDGE_DEBUG
   s2 = g_type_name (G_OBJECT_TYPE (g_value_get_object (param_values + 0)));
   s = atk_object_get_name (ATK_OBJECT (g_value_get_object (param_values + 0)));
 
 #ifdef SPI_BRIDGE_DEBUG
   s2 = g_type_name (G_OBJECT_TYPE (g_value_get_object (param_values + 0)));
   s = atk_object_get_name (ATK_OBJECT (g_value_get_object (param_values + 0)));
-  fprintf (stderr, "Received signal %s:%s from object %s (gail %s)\n",
-          g_type_name (signal_query.itype), name, s ? s : "<NULL>" , s2);
+  fprintf (stderr, "Received signal %s:%s detail: %s from object %s (gail %s)\n",
+          g_type_name (signal_query.itype), name, 
+                        detail ? detail : "<NULL>", s ? s : "<NULL>" , s2);
 #endif
 
   gobject = g_value_get_object (param_values + 0);
 #endif
 
   gobject = g_value_get_object (param_values + 0);
@@ -613,13 +620,14 @@ spi_atk_bridge_signal_listener (GSignalInvocationHint *signal_hint,
   if (G_VALUE_TYPE (param_values + 2) == G_TYPE_INT)
     detail2 = g_value_get_int (param_values + 2);
   
   if (G_VALUE_TYPE (param_values + 2) == G_TYPE_INT)
     detail2 = g_value_get_int (param_values + 2);
   
-  spi_atk_emit_eventv (gobject, detail1, detail2, "object:%s", name);
+  if (detail)
+    spi_atk_emit_eventv (gobject, detail1, detail2, "object:%s:%s", name, detail);
+  else
+    spi_atk_emit_eventv (gobject, detail1, detail2, "object:%s", name);
 
   return TRUE;
 }
 
 
   return TRUE;
 }
 
-
-
 static gboolean
 spi_atk_bridge_window_event_listener (GSignalInvocationHint *signal_hint,
                                guint n_param_values,
 static gboolean
 spi_atk_bridge_window_event_listener (GSignalInvocationHint *signal_hint,
                                guint n_param_values,