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/gtkliststore.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/gtkliststore.c')
-rw-r--r-- | gtk/gtkliststore.c | 49 |
1 files changed, 21 insertions, 28 deletions
diff --git a/gtk/gtkliststore.c b/gtk/gtkliststore.c index f18384b567..5d02b677d5 100644 --- a/gtk/gtkliststore.c +++ b/gtk/gtkliststore.c @@ -688,18 +688,11 @@ gtk_list_store_set_value (GtkListStore *list_store, } } -static void -gtk_list_store_set_valist_internal (GtkListStore *list_store, - GtkTreeIter *iter, - gboolean *emit_signal, - gboolean *maybe_need_sort, - va_list var_args) +static GtkTreeIterCompareFunc +gtk_list_store_get_compare_func (GtkListStore *list_store) { - gint column; GtkTreeIterCompareFunc func = NULL; - column = va_arg (var_args, gint); - if (GTK_LIST_STORE_IS_SORTED (list_store)) { if (list_store->sort_column_id != -1) @@ -707,8 +700,8 @@ gtk_list_store_set_valist_internal (GtkListStore *list_store, 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); + g_return_val_if_fail (header != NULL, NULL); + g_return_val_if_fail (header->func != NULL, NULL); func = header->func; } else @@ -717,6 +710,22 @@ gtk_list_store_set_valist_internal (GtkListStore *list_store, } } + return func; +} + +static void +gtk_list_store_set_valist_internal (GtkListStore *list_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_list_store_get_compare_func (list_store); if (func != _gtk_tree_data_list_compare_func) *maybe_need_sort = TRUE; @@ -1905,23 +1914,7 @@ gtk_list_store_insert_with_valuesv (GtkListStore *list_store, list_store->length++; - if (GTK_LIST_STORE_IS_SORTED (list_store)) - { - 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; - } - } - + func = gtk_list_store_get_compare_func (list_store); if (func != _gtk_tree_data_list_compare_func) maybe_need_sort = TRUE; |