summaryrefslogtreecommitdiff
path: root/gtk/gtkliststore.c
diff options
context:
space:
mode:
authorKristian Rietveld <kris@gtk.org>2006-05-27 21:43:10 +0000
committerKristian Rietveld <kristian@src.gnome.org>2006-05-27 21:43:10 +0000
commite7b5cdb8e035e47e7a2741aaa93c5b325796938f (patch)
treeae154721e4b3500365176ce0dfdcc52808b8d103 /gtk/gtkliststore.c
parent29a3dba6a7e73145ba74048a86953b2fd314c53b (diff)
downloadgtk+-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.c49
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;