--- glade/glade-private.h.old	2008-08-18 11:58:59.000000000 +0400
+++ glade/glade-private.h	2009-03-05 13:14:36.000000000 +0300
@@ -59,14 +59,6 @@
     GList *deferred_props;
 };
 
-typedef struct _GladeSignalData GladeSignalData;
-struct _GladeSignalData {
-    GObject *signal_object;
-    char *signal_name;
-    char *connect_object; /* or NULL if there is none */
-    gboolean signal_after;
-};
-
 typedef struct _GladeDeferredProperty GladeDeferredProperty;
 struct _GladeDeferredProperty {
     const gchar *target_name;
--- glade/glade-xml.c.old	2008-08-18 11:58:59.000000000 +0400
+++ glade/glade-xml.c	2009-03-05 13:22:35.000000000 +0300
@@ -533,6 +533,22 @@
 }
 
 /**
+ * glade_xml_get_signal_info:
+ * @self: the GladeXML object.
+ *
+ * This function is used to get a pointer to the GHashTable that maps
+ * the signal handler names to the signal-emitting objects.
+ *
+ * Returns: the pointer to the hash table that describes the signal
+ * connections.
+ */
+GHashTable *
+glade_xml_get_signal_info (GladeXML *self)
+{
+    return self->priv->signals;
+}
+
+/**
  * glade_xml_get_widget:
  * @self: the GladeXML object.
  * @name: the name of the widget.
--- glade/glade-xml.h.old	2008-08-18 11:58:59.000000000 +0400
+++ glade/glade-xml.h	2009-03-05 13:23:18.000000000 +0300
@@ -56,6 +56,14 @@
     GType (* lookup_type) (GladeXML*self, const char *gtypename);
 };
 
+typedef struct _GladeSignalData GladeSignalData;
+struct _GladeSignalData {
+    GObject *signal_object;
+    char *signal_name;
+    char *connect_object; /* or NULL if there is none */
+    gboolean signal_after;
+};
+
 GType      glade_xml_get_type            (void);
 GladeXML  *glade_xml_new                 (const char *fname, const char *root,
 					  const char *domain);
@@ -109,6 +117,8 @@
 					      GladeXMLConnectFunc func,
 					      gpointer user_data);
 
+GHashTable *glade_xml_get_signal_info        (GladeXML *self);
+
 
 GtkWidget *glade_xml_get_widget              (GladeXML *self,
 					      const char *name);
--- glade/glade.def.old	2008-08-18 11:58:59.000000000 +0400
+++ glade/glade.def	2009-03-05 13:12:44.000000000 +0300
@@ -37,3 +37,4 @@
 	glade_xml_signal_connect
 	glade_xml_signal_connect_data
 	glade_xml_signal_connect_full
+	glade_xml_get_signal_info
