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.
This commit is contained in:
Owen Taylor 2000-10-29 07:37:07 +00:00 committed by Owen Taylor
parent 300e3bb247
commit fbe5df779c
2 changed files with 15 additions and 1 deletions

View File

@ -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

View File

@ -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;