summaryrefslogtreecommitdiff
path: root/gtk/gtktreestore.c
diff options
context:
space:
mode:
authorJonathan Blandford <jrb@redhat.com>2002-01-31 01:17:21 +0000
committerJonathan Blandford <jrb@src.gnome.org>2002-01-31 01:17:21 +0000
commit9725d9958e6fa7d59eb23964e008a21e335bebe9 (patch)
tree572c3cea7e22e39d4db7deeb0e0061e28f200a48 /gtk/gtktreestore.c
parent78d39ef5049d30debee21a9b629cf7bc781c0950 (diff)
downloadgtk+-9725d9958e6fa7d59eb23964e008a21e335bebe9.tar.gz
save last minute changes before committing.
Wed Jan 30 20:15:49 2002 Jonathan Blandford <jrb@redhat.com> * gtk/gtktreestore.c (gtk_tree_store_set_valist): save last minute changes before committing.
Diffstat (limited to 'gtk/gtktreestore.c')
-rw-r--r--gtk/gtktreestore.c28
1 files changed, 15 insertions, 13 deletions
diff --git a/gtk/gtktreestore.c b/gtk/gtktreestore.c
index edcb67a1a6..ebe1e6a8dc 100644
--- a/gtk/gtktreestore.c
+++ b/gtk/gtktreestore.c
@@ -910,26 +910,28 @@ gtk_tree_store_set_valist (GtkTreeStore *tree_store,
gint column;
gboolean emit_signal = FALSE;
gboolean maybe_need_sort = FALSE;
- GtkTreeIterCompareFunc func;
+ GtkTreeIterCompareFunc func = NULL;
g_return_if_fail (GTK_IS_TREE_STORE (tree_store));
g_return_if_fail (VALID_ITER (iter, tree_store));
column = va_arg (var_args, gint);
- if (tree_store->sort_column_id != -1)
- {
- GtkTreeDataSortHeader *header;
- header = _gtk_tree_data_list_get_header (tree_store->sort_list,
- tree_store->sort_column_id);
- g_return_if_fail (header != NULL);
- g_return_if_fail (header->func != NULL);
- func = header->func;
- }
- else
+ if (GTK_TREE_STORE_IS_SORTED (tree_store))
{
- g_return_if_fail (tree_store->default_sort_func != NULL);
- func = tree_store->default_sort_func;
+ if (tree_store->sort_column_id != -1)
+ {
+ GtkTreeDataSortHeader *header;
+ header = _gtk_tree_data_list_get_header (tree_store->sort_list,
+ tree_store->sort_column_id);
+ g_return_if_fail (header != NULL);
+ g_return_if_fail (header->func != NULL);
+ func = header->func;
+ }
+ else
+ {
+ func = tree_store->default_sort_func;
+ }
}
if (func != gtk_tree_data_list_compare_func)