summaryrefslogtreecommitdiff
path: root/gtk/gtktreeselection.c
diff options
context:
space:
mode:
Diffstat (limited to 'gtk/gtktreeselection.c')
-rw-r--r--gtk/gtktreeselection.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/gtk/gtktreeselection.c b/gtk/gtktreeselection.c
index 67c37ef359..94cd4b1d84 100644
--- a/gtk/gtktreeselection.c
+++ b/gtk/gtktreeselection.c
@@ -474,7 +474,7 @@ gtk_tree_selection_get_selected_rows (GtkTreeSelection *selection,
do
{
if (GTK_RBNODE_FLAG_SET (node, GTK_RBNODE_IS_SELECTED))
- list = g_list_append (list, gtk_tree_path_copy (path));
+ list = g_list_prepend (list, gtk_tree_path_copy (path));
if (node->children)
{
@@ -506,7 +506,8 @@ gtk_tree_selection_get_selected_rows (GtkTreeSelection *selection,
if (!tree)
{
gtk_tree_path_free (path);
- return list;
+
+ goto done;
}
gtk_tree_path_up (path);
@@ -519,7 +520,8 @@ gtk_tree_selection_get_selected_rows (GtkTreeSelection *selection,
gtk_tree_path_free (path);
- return list;
+ done:
+ return g_list_reverse (list);
}
static void