diff options
author | Kristian Rietveld <kris@gtk.org> | 2006-05-27 21:43:10 +0000 |
---|---|---|
committer | Kristian Rietveld <kristian@src.gnome.org> | 2006-05-27 21:43:10 +0000 |
commit | e7b5cdb8e035e47e7a2741aaa93c5b325796938f (patch) | |
tree | ae154721e4b3500365176ce0dfdcc52808b8d103 /gtk/gtktreestore.c | |
parent | 29a3dba6a7e73145ba74048a86953b2fd314c53b (diff) | |
download | gtk+-e7b5cdb8e035e47e7a2741aaa93c5b325796938f.tar.gz |
Small refactoring. (#340428, Paolo Borelli).
2006-05-27 Kristian Rietveld <kris@gtk.org>
Small refactoring. (#340428, Paolo Borelli).
* gtk/gtkliststore.c (gtk_list_store_set_valist_internal),
(gtk_list_store_insert_with_valuesv): refactor code to determine
iter compare func into gtk_list_store_get_compare_func().
* gtk/gtktreestore.c (gtk_tree_store_set_valist_internal),
(gtk_tree_store_insert_with_valuesv): likewise.
Diffstat (limited to 'gtk/gtktreestore.c')
-rw-r--r-- | gtk/gtktreestore.c | 49 |
1 files changed, 21 insertions, 28 deletions
diff --git a/gtk/gtktreestore.c b/gtk/gtktreestore.c index 3f37f6e469..03dd170a31 100644 --- a/gtk/gtktreestore.c +++ b/gtk/gtktreestore.c @@ -840,18 +840,11 @@ gtk_tree_store_set_value (GtkTreeStore *tree_store, } } -static void -gtk_tree_store_set_valist_internal (GtkTreeStore *tree_store, - GtkTreeIter *iter, - gboolean *emit_signal, - gboolean *maybe_need_sort, - va_list var_args) +static GtkTreeIterCompareFunc +gtk_tree_store_get_compare_func (GtkTreeStore *tree_store) { - gint column; GtkTreeIterCompareFunc func = NULL; - column = va_arg (var_args, gint); - if (GTK_TREE_STORE_IS_SORTED (tree_store)) { if (tree_store->sort_column_id != -1) @@ -859,8 +852,8 @@ gtk_tree_store_set_valist_internal (GtkTreeStore *tree_store, 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); + g_return_val_if_fail (header != NULL, NULL); + g_return_val_if_fail (header->func != NULL, NULL); func = header->func; } else @@ -869,6 +862,22 @@ gtk_tree_store_set_valist_internal (GtkTreeStore *tree_store, } } + return func; +} + +static void +gtk_tree_store_set_valist_internal (GtkTreeStore *tree_store, + GtkTreeIter *iter, + gboolean *emit_signal, + gboolean *maybe_need_sort, + va_list var_args) +{ + gint column; + GtkTreeIterCompareFunc func = NULL; + + column = va_arg (var_args, gint); + + func = gtk_tree_store_get_compare_func (tree_store); if (func != _gtk_tree_data_list_compare_func) *maybe_need_sort = TRUE; @@ -1403,23 +1412,7 @@ gtk_tree_store_insert_with_valuesv (GtkTreeStore *tree_store, iter->user_data = new_node; g_node_insert (parent_node, position, new_node); - if (GTK_TREE_STORE_IS_SORTED (tree_store)) - { - 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; - } - } - + func = gtk_tree_store_get_compare_func (tree_store); if (func != _gtk_tree_data_list_compare_func) maybe_need_sort = TRUE; |