summaryrefslogtreecommitdiff
path: root/gtk/gtkliststore.c
diff options
context:
space:
mode:
Diffstat (limited to 'gtk/gtkliststore.c')
-rw-r--r--gtk/gtkliststore.c26
1 files changed, 14 insertions, 12 deletions
diff --git a/gtk/gtkliststore.c b/gtk/gtkliststore.c
index 2319d03f5..ec3266020 100644
--- a/gtk/gtkliststore.c
+++ b/gtk/gtkliststore.c
@@ -802,19 +802,21 @@ gtk_list_store_set_valist (GtkListStore *list_store,
column = va_arg (var_args, gint);
- if (list_store->sort_column_id != -1)
- {
- GtkTreeDataSortHeader *header;
- header = _gtk_tree_data_list_get_header (list_store->sort_list,
- list_store->sort_column_id);
- g_return_if_fail (header != NULL);
- g_return_if_fail (header->func != NULL);
- func = header->func;
- }
- else
+ if (GTK_LIST_STORE_IS_SORTED (list_store))
{
- g_return_if_fail (list_store->default_sort_func != NULL);
- func = list_store->default_sort_func;
+ if (list_store->sort_column_id != -1)
+ {
+ GtkTreeDataSortHeader *header;
+ header = _gtk_tree_data_list_get_header (list_store->sort_list,
+ list_store->sort_column_id);
+ g_return_if_fail (header != NULL);
+ g_return_if_fail (header->func != NULL);
+ func = header->func;
+ }
+ else
+ {
+ func = list_store->default_sort_func;
+ }
}
if (func != gtk_tree_data_list_compare_func)