From 4142ee9b0c0e736debf2a3d64d2972fb3b949285 Mon Sep 17 00:00:00 2001 From: Richard Hughes Date: Wed, 24 Jun 2015 11:59:03 +0100 Subject: Sort multiple entries by name This keeps the logs consistent. --- libappstream-glib/as-app.c | 12 ++++++++++++ libappstream-glib/as-self-test.c | 7 ++++--- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/libappstream-glib/as-app.c b/libappstream-glib/as-app.c index 6cf7653..8dbd814 100644 --- a/libappstream-glib/as-app.c +++ b/libappstream-glib/as-app.c @@ -2994,6 +2994,17 @@ as_app_releases_sort_cb (gconstpointer a, gconstpointer b) return 0; } +/** + * as_app_icons_sort_cb: + **/ +static gint +as_app_icons_sort_cb (gconstpointer a, gconstpointer b) +{ + AsIcon **ic1 = (AsIcon **) a; + AsIcon **ic2 = (AsIcon **) b; + return g_strcmp0 (as_icon_get_name (*ic1), as_icon_get_name (*ic2)); +} + /** * as_app_list_sort_cb: **/ @@ -3191,6 +3202,7 @@ as_app_node_insert (AsApp *app, GNode *parent, AsNodeContext *ctx) } /* */ + g_ptr_array_sort (priv->icons, as_app_icons_sort_cb); for (i = 0; i < priv->icons->len; i++) { AsIcon *ic = g_ptr_array_index (priv->icons, i); as_icon_node_insert (ic, node_app, ctx); diff --git a/libappstream-glib/as-self-test.c b/libappstream-glib/as-self-test.c index 27004a0..74ddc43 100644 --- a/libappstream-glib/as-self-test.c +++ b/libappstream-glib/as-self-test.c @@ -852,7 +852,8 @@ as_test_app_func (void) "GNOME Foundation\n" "

Software allows you to find stuff

\n" "

O aplicativo Software.

\n" - "org.gnome.Software.png\n" + "org.gnome.Software1.png\n" + "org.gnome.Software2.png\n" "\n" "System\n" "\n" @@ -951,7 +952,7 @@ as_test_app_func (void) /* check icons */ icons = as_app_get_icons (app); g_assert (icons != NULL); - g_assert_cmpint (icons->len, ==, 1); + g_assert_cmpint (icons->len, ==, 2); /* check bundle */ bu = as_app_get_bundle_default (app); @@ -964,7 +965,7 @@ as_test_app_func (void) g_assert (ic == NULL); ic = as_app_get_icon_for_size (app, 64, 64); g_assert (ic != NULL); - g_assert_cmpstr (as_icon_get_name (ic), ==, "org.gnome.Software.png"); + g_assert_cmpstr (as_icon_get_name (ic), ==, "org.gnome.Software1.png"); g_assert_cmpint (as_icon_get_kind (ic), ==, AS_ICON_KIND_CACHED); /* we can't extend ourself */ -- cgit v1.2.1