Merged from stable.
Fri Aug 15 20:06:42 2003 Kristian Rietveld <kris@gtk.org> Merged from stable. * gtk/gtktreeview.c (gtk_tree_model_sort_row_changed), (gtk_tree_model_sort_level_find_insert), (gtk_tree_model_sort_insert_value): fix off-by-one error. (#109292 continued, patch from Yann Rouillard).
This commit is contained in:
parent
2e299387a7
commit
15885321cb
@ -1,3 +1,12 @@
|
|||||||
|
Fri Aug 15 20:06:42 2003 Kristian Rietveld <kris@gtk.org>
|
||||||
|
|
||||||
|
Merged from stable.
|
||||||
|
|
||||||
|
* gtk/gtktreeview.c (gtk_tree_model_sort_row_changed),
|
||||||
|
(gtk_tree_model_sort_level_find_insert),
|
||||||
|
(gtk_tree_model_sort_insert_value): fix off-by-one error.
|
||||||
|
(#109292 continued, patch from Yann Rouillard).
|
||||||
|
|
||||||
Fri Aug 15 19:43:14 2003 Kristian Rietveld <kris@gtk.org>
|
Fri Aug 15 19:43:14 2003 Kristian Rietveld <kris@gtk.org>
|
||||||
|
|
||||||
(Note: This is not exactly the same as the patch which went in
|
(Note: This is not exactly the same as the patch which went in
|
||||||
|
@ -1,3 +1,12 @@
|
|||||||
|
Fri Aug 15 20:06:42 2003 Kristian Rietveld <kris@gtk.org>
|
||||||
|
|
||||||
|
Merged from stable.
|
||||||
|
|
||||||
|
* gtk/gtktreeview.c (gtk_tree_model_sort_row_changed),
|
||||||
|
(gtk_tree_model_sort_level_find_insert),
|
||||||
|
(gtk_tree_model_sort_insert_value): fix off-by-one error.
|
||||||
|
(#109292 continued, patch from Yann Rouillard).
|
||||||
|
|
||||||
Fri Aug 15 19:43:14 2003 Kristian Rietveld <kris@gtk.org>
|
Fri Aug 15 19:43:14 2003 Kristian Rietveld <kris@gtk.org>
|
||||||
|
|
||||||
(Note: This is not exactly the same as the patch which went in
|
(Note: This is not exactly the same as the patch which went in
|
||||||
|
@ -1,3 +1,12 @@
|
|||||||
|
Fri Aug 15 20:06:42 2003 Kristian Rietveld <kris@gtk.org>
|
||||||
|
|
||||||
|
Merged from stable.
|
||||||
|
|
||||||
|
* gtk/gtktreeview.c (gtk_tree_model_sort_row_changed),
|
||||||
|
(gtk_tree_model_sort_level_find_insert),
|
||||||
|
(gtk_tree_model_sort_insert_value): fix off-by-one error.
|
||||||
|
(#109292 continued, patch from Yann Rouillard).
|
||||||
|
|
||||||
Fri Aug 15 19:43:14 2003 Kristian Rietveld <kris@gtk.org>
|
Fri Aug 15 19:43:14 2003 Kristian Rietveld <kris@gtk.org>
|
||||||
|
|
||||||
(Note: This is not exactly the same as the patch which went in
|
(Note: This is not exactly the same as the patch which went in
|
||||||
|
@ -1,3 +1,12 @@
|
|||||||
|
Fri Aug 15 20:06:42 2003 Kristian Rietveld <kris@gtk.org>
|
||||||
|
|
||||||
|
Merged from stable.
|
||||||
|
|
||||||
|
* gtk/gtktreeview.c (gtk_tree_model_sort_row_changed),
|
||||||
|
(gtk_tree_model_sort_level_find_insert),
|
||||||
|
(gtk_tree_model_sort_insert_value): fix off-by-one error.
|
||||||
|
(#109292 continued, patch from Yann Rouillard).
|
||||||
|
|
||||||
Fri Aug 15 19:43:14 2003 Kristian Rietveld <kris@gtk.org>
|
Fri Aug 15 19:43:14 2003 Kristian Rietveld <kris@gtk.org>
|
||||||
|
|
||||||
(Note: This is not exactly the same as the patch which went in
|
(Note: This is not exactly the same as the patch which went in
|
||||||
|
@ -1,3 +1,12 @@
|
|||||||
|
Fri Aug 15 20:06:42 2003 Kristian Rietveld <kris@gtk.org>
|
||||||
|
|
||||||
|
Merged from stable.
|
||||||
|
|
||||||
|
* gtk/gtktreeview.c (gtk_tree_model_sort_row_changed),
|
||||||
|
(gtk_tree_model_sort_level_find_insert),
|
||||||
|
(gtk_tree_model_sort_insert_value): fix off-by-one error.
|
||||||
|
(#109292 continued, patch from Yann Rouillard).
|
||||||
|
|
||||||
Fri Aug 15 19:43:14 2003 Kristian Rietveld <kris@gtk.org>
|
Fri Aug 15 19:43:14 2003 Kristian Rietveld <kris@gtk.org>
|
||||||
|
|
||||||
(Note: This is not exactly the same as the patch which went in
|
(Note: This is not exactly the same as the patch which went in
|
||||||
|
@ -211,7 +211,7 @@ static void gtk_tree_model_sort_sort (GtkTreeModelSort *tre
|
|||||||
static gint gtk_tree_model_sort_level_find_insert (GtkTreeModelSort *tree_model_sort,
|
static gint gtk_tree_model_sort_level_find_insert (GtkTreeModelSort *tree_model_sort,
|
||||||
SortLevel *level,
|
SortLevel *level,
|
||||||
GtkTreeIter *iter,
|
GtkTreeIter *iter,
|
||||||
gboolean skip_sort_elt);
|
gint skip_index);
|
||||||
static gboolean gtk_tree_model_sort_insert_value (GtkTreeModelSort *tree_model_sort,
|
static gboolean gtk_tree_model_sort_insert_value (GtkTreeModelSort *tree_model_sort,
|
||||||
SortLevel *level,
|
SortLevel *level,
|
||||||
GtkTreePath *s_path,
|
GtkTreePath *s_path,
|
||||||
@ -436,7 +436,7 @@ gtk_tree_model_sort_row_changed (GtkTreeModel *s_model,
|
|||||||
|
|
||||||
gboolean free_s_path = FALSE;
|
gboolean free_s_path = FALSE;
|
||||||
|
|
||||||
gint offset, index = 0, old_index, i;
|
gint index = 0, old_index, i;
|
||||||
|
|
||||||
g_return_if_fail (start_s_path != NULL || start_s_iter != NULL);
|
g_return_if_fail (start_s_path != NULL || start_s_iter != NULL);
|
||||||
|
|
||||||
@ -481,11 +481,7 @@ gtk_tree_model_sort_row_changed (GtkTreeModel *s_model,
|
|||||||
&tmpiter, start_s_path);
|
&tmpiter, start_s_path);
|
||||||
}
|
}
|
||||||
|
|
||||||
offset = elt->offset;
|
old_index = elt - SORT_ELT (level->array->data);
|
||||||
|
|
||||||
for (i = 0; i < level->array->len; i++)
|
|
||||||
if (elt->offset == g_array_index (level->array, SortElt, i).offset)
|
|
||||||
old_index = i;
|
|
||||||
|
|
||||||
memcpy (&tmp, elt, sizeof (SortElt));
|
memcpy (&tmp, elt, sizeof (SortElt));
|
||||||
|
|
||||||
@ -493,12 +489,12 @@ gtk_tree_model_sort_row_changed (GtkTreeModel *s_model,
|
|||||||
index = gtk_tree_model_sort_level_find_insert (tree_model_sort,
|
index = gtk_tree_model_sort_level_find_insert (tree_model_sort,
|
||||||
level,
|
level,
|
||||||
&tmp.iter,
|
&tmp.iter,
|
||||||
TRUE);
|
old_index);
|
||||||
else
|
else
|
||||||
index = gtk_tree_model_sort_level_find_insert (tree_model_sort,
|
index = gtk_tree_model_sort_level_find_insert (tree_model_sort,
|
||||||
level,
|
level,
|
||||||
&tmpiter,
|
&tmpiter,
|
||||||
TRUE);
|
old_index);
|
||||||
|
|
||||||
if (index < old_index)
|
if (index < old_index)
|
||||||
{
|
{
|
||||||
@ -1671,10 +1667,9 @@ static gint
|
|||||||
gtk_tree_model_sort_level_find_insert (GtkTreeModelSort *tree_model_sort,
|
gtk_tree_model_sort_level_find_insert (GtkTreeModelSort *tree_model_sort,
|
||||||
SortLevel *level,
|
SortLevel *level,
|
||||||
GtkTreeIter *iter,
|
GtkTreeIter *iter,
|
||||||
gboolean skip_sort_elt)
|
gint skip_index)
|
||||||
{
|
{
|
||||||
gint start, middle, end;
|
gint start, middle, end;
|
||||||
gint skip_index;
|
|
||||||
gint cmp;
|
gint cmp;
|
||||||
SortElt *tmp_elt;
|
SortElt *tmp_elt;
|
||||||
GtkTreeIter tmp_iter;
|
GtkTreeIter tmp_iter;
|
||||||
@ -1706,13 +1701,10 @@ gtk_tree_model_sort_level_find_insert (GtkTreeModelSort *tree_model_sort,
|
|||||||
|
|
||||||
start = 0;
|
start = 0;
|
||||||
end = level->array->len;
|
end = level->array->len;
|
||||||
if (skip_sort_elt)
|
if (skip_index < 0)
|
||||||
{
|
|
||||||
skip_index = SORT_ELT (iter->user_data2) - SORT_ELT (level->array->data);
|
|
||||||
end--;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
skip_index = end;
|
skip_index = end;
|
||||||
|
else
|
||||||
|
end--;
|
||||||
|
|
||||||
if (start == end)
|
if (start == end)
|
||||||
return 0;
|
return 0;
|
||||||
@ -1787,7 +1779,7 @@ gtk_tree_model_sort_insert_value (GtkTreeModelSort *tree_model_sort,
|
|||||||
else
|
else
|
||||||
index = gtk_tree_model_sort_level_find_insert (tree_model_sort,
|
index = gtk_tree_model_sort_level_find_insert (tree_model_sort,
|
||||||
level, s_iter,
|
level, s_iter,
|
||||||
FALSE);
|
-1);
|
||||||
|
|
||||||
g_array_insert_vals (level->array, index, &elt, 1);
|
g_array_insert_vals (level->array, index, &elt, 1);
|
||||||
tmp_elt = SORT_ELT (level->array->data);
|
tmp_elt = SORT_ELT (level->array->data);
|
||||||
|
Loading…
Reference in New Issue
Block a user