summaryrefslogtreecommitdiff
path: root/gtk/gtkimmodule.c
diff options
context:
space:
mode:
authorAbigail Brady <morwen@evilmagic.org>2002-11-18 03:43:53 +0000
committerRobert Brady <rbrady@src.gnome.org>2002-11-18 03:43:53 +0000
commit3e576ed83287a623cf4fe76989794256e6775b4a (patch)
tree76f2d545414f9fcb518d6875168abfad303c110b /gtk/gtkimmodule.c
parenta0fdf99106a7bb725611827e08ccb8cbea281fc7 (diff)
downloadgtk+-3e576ed83287a623cf4fe76989794256e6775b4a.tar.gz
Sort the list of Input Modules by name, keeping Default at top.
2002-11-18 Abigail Brady <morwen@evilmagic.org> * gtk/gtkimmodule.c: (_gtk_im_module_list): Sort the list of Input Modules by name, keeping Default at top.
Diffstat (limited to 'gtk/gtkimmodule.c')
-rw-r--r--gtk/gtkimmodule.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/gtk/gtkimmodule.c b/gtk/gtkimmodule.c
index 6d5a9176c4..90193cfab4 100644
--- a/gtk/gtkimmodule.c
+++ b/gtk/gtkimmodule.c
@@ -388,6 +388,13 @@ gtk_im_module_init ()
g_free (filename);
}
+static gint
+compare_gtkimcontextinfo_name(const GtkIMContextInfo **a,
+ const GtkIMContextInfo **b)
+{
+ return g_utf8_collate ((*a)->context_name, (*b)->context_name);
+}
+
/**
* _gtk_im_module_list:
* @contexts: location to store an array of pointers to #GtkIMContextInfo
@@ -437,6 +444,9 @@ _gtk_im_module_list (const GtkIMContextInfo ***contexts,
tmp_list = tmp_list->next;
}
+
+ /* fisrt element (Default) should always be at top */
+ qsort ((*contexts)+1, n-1, sizeof (GtkIMContextInfo *), (GCompareFunc)compare_gtkimcontextinfo_name);
}
}