summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Hughes <richard@hughsie.com>2014-04-23 12:18:56 +0100
committerRichard Hughes <richard@hughsie.com>2014-04-23 12:18:56 +0100
commit64775e572a2606d1383e804c90fe659e341bcbe9 (patch)
tree9d0a493e70255bec84b184b6ea49eb785c790b3a
parent4b18ff27ee0af614190c8e43efc953adb7fa5f67 (diff)
downloadappstream-glib-64775e572a2606d1383e804c90fe659e341bcbe9.tar.gz
Sort the application languages by name so they are predictable
-rw-r--r--libappstream-glib/as-app.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/libappstream-glib/as-app.c b/libappstream-glib/as-app.c
index df6388d..afa4f9d 100644
--- a/libappstream-glib/as-app.c
+++ b/libappstream-glib/as-app.c
@@ -1328,6 +1328,15 @@ as_app_subsume (AsApp *app, AsApp *donor)
}
/**
+ * gs_app_node_language_sort_cb:
+ **/
+static gint
+gs_app_node_language_sort_cb (gconstpointer a, gconstpointer b)
+{
+ return g_strcmp0 ((const gchar *) a, (const gchar *) b);
+}
+
+/**
* as_app_node_insert_languages:
**/
static void
@@ -1342,6 +1351,7 @@ as_app_node_insert_languages (AsApp *app, GNode *parent)
node_tmp = as_node_insert (parent, "languages", NULL, 0, NULL);
langs = as_app_get_languages (app);
+ langs = g_list_sort (langs, gs_app_node_language_sort_cb);
for (l = langs; l != NULL; l = l->next) {
locale = l->data;
percentage = as_app_get_language (app, locale);