summaryrefslogtreecommitdiff
path: root/gtk/gtkrbtree.c
diff options
context:
space:
mode:
authorKristian Rietveld <kris@gtk.org>2005-07-08 19:17:10 +0000
committerKristian Rietveld <kristian@src.gnome.org>2005-07-08 19:17:10 +0000
commit7f5b9100ed0036efc82d6edcaa5fef725baf7cee (patch)
tree31906a4668376b07bc28abc1e9f54c0ba18c03ef /gtk/gtkrbtree.c
parent92da84155fbdd53e568ff6b358011577e404ce55 (diff)
downloadgtk+-7f5b9100ed0036efc82d6edcaa5fef725baf7cee.tar.gz
Fixes #165034, reported by Jorn Baayen.
2005-07-08 Kristian Rietveld <kris@gtk.org> Fixes #165034, reported by Jorn Baayen. * gtk/gtkrbtree.[ch] (_gtk_rbtree_set_fixed_height): add a mark_valid parameter (so we can mark all nodes as valid when we are setting them to the fixed height). * gtk/gtktreeview.c (initialized_fixed_height_mode): mark all nodes as valid when setting the fixed height, (do_validate_rows): update call to _set_fixed_height, (gtk_tree_view_row_inserted): mark node as valid when fixed height mode is enabled and a height has been set, (gtk_tree_view_build_tree): if fixed height mode is enabled, mark new nodes as valid in addition to setting the height.
Diffstat (limited to 'gtk/gtkrbtree.c')
-rw-r--r--gtk/gtkrbtree.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/gtk/gtkrbtree.c b/gtk/gtkrbtree.c
index 0b83f71282..cc9d85342b 100644
--- a/gtk/gtkrbtree.c
+++ b/gtk/gtkrbtree.c
@@ -895,7 +895,8 @@ _gtk_rbtree_mark_invalid (GtkRBTree *tree)
void
_gtk_rbtree_set_fixed_height (GtkRBTree *tree,
- gint height)
+ gint height,
+ gboolean mark_valid)
{
GtkRBNode *node;
@@ -911,10 +912,14 @@ _gtk_rbtree_set_fixed_height (GtkRBTree *tree,
do
{
if (GTK_RBNODE_FLAG_SET (node, GTK_RBNODE_INVALID))
- _gtk_rbtree_node_set_height (tree, node, height);
+ {
+ _gtk_rbtree_node_set_height (tree, node, height);
+ if (mark_valid)
+ _gtk_rbtree_node_mark_valid (tree, node);
+ }
if (node->children)
- _gtk_rbtree_set_fixed_height (node->children, height);
+ _gtk_rbtree_set_fixed_height (node->children, height, mark_valid);
}
while ((node = _gtk_rbtree_next (tree, node)) != NULL);
}