diff options
author | Owen Taylor <otaylor@redhat.com> | 2000-10-29 07:37:07 +0000 |
---|---|---|
committer | Owen Taylor <otaylor@src.gnome.org> | 2000-10-29 07:37:07 +0000 |
commit | fbe5df779cd39c9587f665118074ac828a805c26 (patch) | |
tree | fdc7b85ccdc2c6d7f3233b260da337eb4220f310 | |
parent | 300e3bb247216fee40254822c2fb60a78a8ef21c (diff) |
Fix problem where signals with "_" in them appeared twice in the result
Sun Oct 29 02:31:03 2000 Owen Taylor <otaylor@redhat.com>
* gsignal.c (g_type_signals): Fix problem where signals
with "_" in them appeared twice in the result array.
-rw-r--r-- | gobject/ChangeLog | 5 | ||||
-rw-r--r-- | gobject/gsignal.c | 11 |
2 files changed, 15 insertions, 1 deletions
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 <otaylor@redhat.com> + + * 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 <otaylor@redhat.com> * 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 <petm@xcf.berkeley.edu> */ +#include <string.h> + #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; |