From c9e39b2a34cc5eb5870710e653dd7a8154f04cfe Mon Sep 17 00:00:00 2001 From: Kristian Rietveld Date: Wed, 24 Oct 2001 20:54:32 +0000 Subject: [PATCH] treat s_path as a child path Wed Oct 24 22:54:07 2001 Kristian Rietveld * gtk/gtktreemodelsort.c (gtk_tree_model_sort_row_inserted): treat s_path as a child path --- ChangeLog | 5 +++++ ChangeLog.pre-2-0 | 5 +++++ ChangeLog.pre-2-10 | 5 +++++ ChangeLog.pre-2-2 | 5 +++++ ChangeLog.pre-2-4 | 5 +++++ ChangeLog.pre-2-6 | 5 +++++ ChangeLog.pre-2-8 | 5 +++++ gtk/gtktreemodelsort.c | 13 ++++++++++++- 8 files changed, 47 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index db1a8f0bb8..894a5a925b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Wed Oct 24 22:54:07 2001 Kristian Rietveld + + * gtk/gtktreemodelsort.c (gtk_tree_model_sort_row_inserted): treat + s_path as a child path + Wed Oct 24 20:29:47 2001 Kristian Rietveld * gtk/gtktreemodelsort.c: more changes in an attempt to get diff --git a/ChangeLog.pre-2-0 b/ChangeLog.pre-2-0 index db1a8f0bb8..894a5a925b 100644 --- a/ChangeLog.pre-2-0 +++ b/ChangeLog.pre-2-0 @@ -1,3 +1,8 @@ +Wed Oct 24 22:54:07 2001 Kristian Rietveld + + * gtk/gtktreemodelsort.c (gtk_tree_model_sort_row_inserted): treat + s_path as a child path + Wed Oct 24 20:29:47 2001 Kristian Rietveld * gtk/gtktreemodelsort.c: more changes in an attempt to get diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index db1a8f0bb8..894a5a925b 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,8 @@ +Wed Oct 24 22:54:07 2001 Kristian Rietveld + + * gtk/gtktreemodelsort.c (gtk_tree_model_sort_row_inserted): treat + s_path as a child path + Wed Oct 24 20:29:47 2001 Kristian Rietveld * gtk/gtktreemodelsort.c: more changes in an attempt to get diff --git a/ChangeLog.pre-2-2 b/ChangeLog.pre-2-2 index db1a8f0bb8..894a5a925b 100644 --- a/ChangeLog.pre-2-2 +++ b/ChangeLog.pre-2-2 @@ -1,3 +1,8 @@ +Wed Oct 24 22:54:07 2001 Kristian Rietveld + + * gtk/gtktreemodelsort.c (gtk_tree_model_sort_row_inserted): treat + s_path as a child path + Wed Oct 24 20:29:47 2001 Kristian Rietveld * gtk/gtktreemodelsort.c: more changes in an attempt to get diff --git a/ChangeLog.pre-2-4 b/ChangeLog.pre-2-4 index db1a8f0bb8..894a5a925b 100644 --- a/ChangeLog.pre-2-4 +++ b/ChangeLog.pre-2-4 @@ -1,3 +1,8 @@ +Wed Oct 24 22:54:07 2001 Kristian Rietveld + + * gtk/gtktreemodelsort.c (gtk_tree_model_sort_row_inserted): treat + s_path as a child path + Wed Oct 24 20:29:47 2001 Kristian Rietveld * gtk/gtktreemodelsort.c: more changes in an attempt to get diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6 index db1a8f0bb8..894a5a925b 100644 --- a/ChangeLog.pre-2-6 +++ b/ChangeLog.pre-2-6 @@ -1,3 +1,8 @@ +Wed Oct 24 22:54:07 2001 Kristian Rietveld + + * gtk/gtktreemodelsort.c (gtk_tree_model_sort_row_inserted): treat + s_path as a child path + Wed Oct 24 20:29:47 2001 Kristian Rietveld * gtk/gtktreemodelsort.c: more changes in an attempt to get diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8 index db1a8f0bb8..894a5a925b 100644 --- a/ChangeLog.pre-2-8 +++ b/ChangeLog.pre-2-8 @@ -1,3 +1,8 @@ +Wed Oct 24 22:54:07 2001 Kristian Rietveld + + * gtk/gtktreemodelsort.c (gtk_tree_model_sort_row_inserted): treat + s_path as a child path + Wed Oct 24 20:29:47 2001 Kristian Rietveld * gtk/gtktreemodelsort.c: more changes in an attempt to get diff --git a/gtk/gtktreemodelsort.c b/gtk/gtktreemodelsort.c index 764a1d18c4..85a9dcdf53 100644 --- a/gtk/gtktreemodelsort.c +++ b/gtk/gtktreemodelsort.c @@ -510,6 +510,8 @@ gtk_tree_model_sort_row_inserted (GtkTreeModel *s_model, /* find the parent level */ while (i < gtk_tree_path_get_depth (s_path) - 1) { + gint j; + if (!level) { /* level not yet build, we won't cover this signal */ @@ -523,8 +525,17 @@ gtk_tree_model_sort_row_inserted (GtkTreeModel *s_model, "before the parent was inserted."); goto done; } + + elt = NULL; + for (j = 0; j < level->array->len; j++) + if (g_array_index (level->array, SortElt, j).offset == gtk_tree_path_get_indices (s_path)[i]) + { + elt = &g_array_index (level->array, SortElt, j); + break; + } + + g_return_if_fail (elt != NULL); - elt = SORT_ELT (&g_array_index (level->array, SortElt, gtk_tree_path_get_indices (s_path)[i])); if (!elt->children) { /* FIXME: emit has_child_toggled here? like the treeview? */