From fbe5df779cd39c9587f665118074ac828a805c26 Mon Sep 17 00:00:00 2001 From: Owen Taylor Date: Sun, 29 Oct 2000 07:37:07 +0000 Subject: Fix problem where signals with "_" in them appeared twice in the result Sun Oct 29 02:31:03 2000 Owen Taylor * gsignal.c (g_type_signals): Fix problem where signals with "_" in them appeared twice in the result array. --- gobject/ChangeLog | 5 +++++ gobject/gsignal.c | 11 ++++++++++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/gobject/ChangeLog b/gobject/ChangeLog index 4a01755e6..49e93e4da 100644 --- a/gobject/ChangeLog +++ b/gobject/ChangeLog @@ -1,3 +1,8 @@ +Sun Oct 29 02:31:03 2000 Owen Taylor + + * gsignal.c (g_type_signals): Fix problem where signals + with "_" in them appeared twice in the result array. + Sun Oct 29 01:58:44 2000 Owen Taylor * gsignal.h: Add g_type_signals() - a function to list diff --git a/gobject/gsignal.c b/gobject/gsignal.c index 1a32234ba..48ad7c106 100644 --- a/gobject/gsignal.c +++ b/gobject/gsignal.c @@ -19,6 +19,8 @@ * this code is based on the original GtkSignal implementation * for the Gtk+ library by Peter Mattis */ +#include + #include "gsignal.h" #include "gbsearcharray.h" @@ -718,7 +720,14 @@ g_type_signals (GType itype, for (i = 0; i < n_nodes; i++) { if (keys[i].itype == itype) - g_array_append_val (result, keys[i].signal_id); + { + gchar *name = g_quark_to_string (keys[i].quark); + /* Signal names with "_" in them are aliases to the same + * name with "-" instead of "_". + */ + if (!strchr (name, '_')) + g_array_append_val (result, keys[i].signal_id); + } } *n_ids = result->len; -- cgit v1.2.3