From 3df5b52148a03e0692ef2c83c817bdc56670bd14 Mon Sep 17 00:00:00 2001 From: Georges Basile Stavracas Neto Date: Wed, 4 Mar 2015 17:12:40 -0300 Subject: [PATCH] places sidebar: compare bookmarks by index GtkPlacesSidebar applies a sorting function on the tree model that does not consider the case of bookmarks, which are sorted by their indexes. By adding the bookmarks corner case and comparing then by their indexes, GtkPlacesSidebar can sort the bookmarks properly in the order they're saved. https://bugzilla.gnome.org/show_bug.cgi?id=744589 --- gtk/gtkplacessidebar.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/gtk/gtkplacessidebar.c b/gtk/gtkplacessidebar.c index 57bb59d985..ad98c65a82 100644 --- a/gtk/gtkplacessidebar.c +++ b/gtk/gtkplacessidebar.c @@ -3828,6 +3828,20 @@ places_sidebar_sort_func (GtkTreeModel *model, g_free (name_a); g_free (name_b); } + else if ((place_type_a == place_type_b) && + (place_type_a == PLACES_BOOKMARK)) + { + gint pos_a, pos_b; + + gtk_tree_model_get (model, iter_a, + PLACES_SIDEBAR_COLUMN_INDEX, &pos_a, + -1); + gtk_tree_model_get (model, iter_b, + PLACES_SIDEBAR_COLUMN_INDEX, &pos_b, + -1); + + retval = pos_a - pos_b; + } else if (place_type_a == PLACES_CONNECT_TO_SERVER) { retval = 1;