diff options
author | Juan Pablo Ugarte <jpu@src.gnome.org> | 2006-08-19 19:55:15 +0000 |
---|---|---|
committer | Juan Pablo Ugarte <jpu@src.gnome.org> | 2006-08-19 19:55:15 +0000 |
commit | d698dd3f2bdc8a85cd40eb756fce8647fdbad395 (patch) | |
tree | d81ea8b3c6907f384d49c145b879158b9f1dcbc0 | |
parent | 8d257417aba6c67c53249b1b515e6a75e511c11f (diff) | |
download | glade-d698dd3f2bdc8a85cd40eb756fce8647fdbad395.tar.gz |
sort signals alphabetically in glade_widget_class_add_signals() (bug
* src/glade-widget-class.c: sort signals alphabetically in
glade_widget_class_add_signals() (bug 352013)
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | src/glade-widget-class.c | 13 |
2 files changed, 17 insertions, 1 deletions
@@ -1,3 +1,8 @@ +2006-08-18 Juan Pablo Ugarte <juanpablougarte@gmail.com> + + * src/glade-widget-class.c: sort signals alphabetically in + glade_widget_class_add_signals() (bug 352013) + 2006-08-19 Vincent Geddes <vincent.geddes@gmail.com> * src/glade-project-window.c: diff --git a/src/glade-widget-class.c b/src/glade-widget-class.c index cc403486..36fd6f22 100644 --- a/src/glade-widget-class.c +++ b/src/glade-widget-class.c @@ -258,11 +258,19 @@ glade_widget_class_list_children (GladeWidgetClass *class) return children; } +static gint +glade_widget_class_signal_comp (gconstpointer a, gconstpointer b) +{ + const GladeSignalClass *signal_a = a, *signal_b = b; + return strcmp (signal_b->query.signal_name, signal_a->query.signal_name); +} + static void glade_widget_class_add_signals (GList **signals, GType type) { guint count, *sig_ids, num_signals; GladeSignalClass *cur; + GList *list = NULL; if (G_TYPE_IS_INSTANTIATABLE (type) || G_TYPE_IS_INTERFACE (type)) { @@ -282,9 +290,12 @@ glade_widget_class_add_signals (GList **signals, GType type) cur->name = (cur->query.signal_name); cur->type = (gchar *) g_type_name (type); - *signals = g_list_prepend (*signals, cur); + list = g_list_prepend (list, cur); } g_free (sig_ids); + + list = g_list_sort (list, glade_widget_class_signal_comp); + *signals = g_list_concat (list, *signals); } } |