? docs/reference/gtk/tmpl/gtkaccelmap.sgml ? docs/reference/gtk/tmpl/gtkaccessible.sgml ? docs/reference/gtk/tmpl/gtkpacker.sgml ? gtk/foo.ps ? gtk/out ? tests/festival_server ? tests/festival_server.scm ? tests/festival_sleep_pid ? tests/festival_wrapper_pid Index: docs/reference/gtk/tmpl/gtkmessagedialog.sgml =================================================================== RCS file: /cvs/gnome/gtk+/docs/reference/gtk/tmpl/gtkmessagedialog.sgml,v retrieving revision 1.2 diff -u -r1.2 gtkmessagedialog.sgml --- docs/reference/gtk/tmpl/gtkmessagedialog.sgml 2000/11/01 16:01:17 1.2 +++ docs/reference/gtk/tmpl/gtkmessagedialog.sgml 2001/11/16 22:06:35 @@ -102,3 +102,13 @@ @Returns: + + + + + + + + + + Index: docs/reference/gtk/tmpl/gtktreeview.sgml =================================================================== RCS file: /cvs/gnome/gtk+/docs/reference/gtk/tmpl/gtktreeview.sgml,v retrieving revision 1.12 diff -u -r1.12 gtktreeview.sgml --- docs/reference/gtk/tmpl/gtktreeview.sgml 2001/11/15 22:20:16 1.12 +++ docs/reference/gtk/tmpl/gtktreeview.sgml 2001/11/16 22:06:35 @@ -475,7 +475,6 @@ @tree_view: -@window: @x: @y: @path: @@ -483,6 +482,8 @@ @cell_x: @cell_y: @Returns: + +@window: Index: gtk/gtkrbtree.c =================================================================== RCS file: /cvs/gnome/gtk+/gtk/gtkrbtree.c,v retrieving revision 1.15 diff -u -r1.15 gtkrbtree.c --- gtk/gtkrbtree.c 2001/11/02 21:47:27 1.15 +++ gtk/gtkrbtree.c 2001/11/16 22:06:36 @@ -571,9 +571,10 @@ GtkRBNode * -_gtk_rbtree_insert_after (GtkRBTree *tree, - GtkRBNode *current, - gint height) +_gtk_rbtree_insert_after (GtkRBTree *tree, + GtkRBNode *current, + gint height, + gboolean valid) { GtkRBNode *node; gboolean right = TRUE; @@ -632,14 +633,20 @@ if (gtk_debug_flags & GTK_DEBUG_TREE) _gtk_rbtree_test (G_STRLOC, tree); - + + if (valid) + _gtk_rbtree_node_mark_valid (tree, node); + else + _gtk_rbtree_node_mark_invalid (tree, node); + return node; } GtkRBNode * -_gtk_rbtree_insert_before (GtkRBTree *tree, - GtkRBNode *current, - gint height) +_gtk_rbtree_insert_before (GtkRBTree *tree, + GtkRBNode *current, + gint height, + gboolean valid) { GtkRBNode *node; gboolean left = TRUE; @@ -698,7 +705,12 @@ if (gtk_debug_flags & GTK_DEBUG_TREE) _gtk_rbtree_test (G_STRLOC, tree); - + + if (valid) + _gtk_rbtree_node_mark_valid (tree, node); + else + _gtk_rbtree_node_mark_invalid (tree, node); + return node; } @@ -779,6 +791,7 @@ return; GTK_RBNODE_UNSET_FLAG (node, GTK_RBNODE_INVALID); + GTK_RBNODE_UNSET_FLAG (node, GTK_RBNODE_COLUMN_INVALID); do { if (GTK_RBNODE_FLAG_SET (node, GTK_RBNODE_INVALID) || @@ -786,7 +799,7 @@ (node->left && GTK_RBNODE_FLAG_SET (node->left, GTK_RBNODE_DESCENDANTS_INVALID)) || (node->right && GTK_RBNODE_FLAG_SET (node->right, GTK_RBNODE_DESCENDANTS_INVALID))) return; - + GTK_RBNODE_UNSET_FLAG (node, GTK_RBNODE_DESCENDANTS_INVALID); node = node->parent; if (node == NULL) @@ -798,6 +811,32 @@ while (node); } + +/* Assume tree is the root node as it doesn't set DESCENDANTS_INVALID above. + */ +void +_gtk_rbtree_column_invalid (GtkRBTree *tree) +{ + GtkRBNode *node; + + node = tree->root; + g_assert (node); + + while (node->left != tree->nil) + node = node->left; + + do + { + if (! (GTK_RBNODE_FLAG_SET (node, GTK_RBNODE_INVALID))) + GTK_RBNODE_SET_FLAG (node, GTK_RBNODE_COLUMN_INVALID); + GTK_RBNODE_SET_FLAG (node, GTK_RBNODE_DESCENDANTS_INVALID); + + if (node->children) + _gtk_rbtree_column_invalid (node->children); + } + while ((node = _gtk_rbtree_next (tree, node)) != NULL); +} + typedef struct _GtkRBReorder { GtkRBTree *children; @@ -849,6 +888,14 @@ node->offset += node->children->root->offset; node->parity += node->children->root->parity; } + + if (GTK_RBNODE_FLAG_SET (node, GTK_RBNODE_INVALID) || + (node->right != tree->nil && GTK_RBNODE_FLAG_SET (node->right, GTK_RBNODE_DESCENDANTS_INVALID)) || + (node->left != tree->nil && GTK_RBNODE_FLAG_SET (node->left, GTK_RBNODE_DESCENDANTS_INVALID)) || + (node->children && GTK_RBNODE_FLAG_SET (node->children->root, GTK_RBNODE_DESCENDANTS_INVALID))) + GTK_RBNODE_SET_FLAG (node, GTK_RBNODE_DESCENDANTS_INVALID); + else + GTK_RBNODE_UNSET_FLAG (node, GTK_RBNODE_DESCENDANTS_INVALID); } /* It basically pulls everything out of the tree, rearranges it, and puts it Index: gtk/gtkrbtree.h =================================================================== RCS file: /cvs/gnome/gtk+/gtk/gtkrbtree.h,v retrieving revision 1.10 diff -u -r1.10 gtkrbtree.h --- gtk/gtkrbtree.h 2001/10/25 20:32:40 1.10 +++ gtk/gtkrbtree.h 2001/11/16 22:06:36 @@ -37,8 +37,16 @@ GTK_RBNODE_IS_SEMI_COLLAPSED = 1 << 5, GTK_RBNODE_IS_SEMI_EXPANDED = 1 << 6, GTK_RBNODE_INVALID = 1 << 7, - GTK_RBNODE_DESCENDANTS_INVALID = 1 << 8, - GTK_RBNODE_NON_COLORS = GTK_RBNODE_IS_PARENT | GTK_RBNODE_IS_SELECTED | GTK_RBNODE_IS_PRELIT | GTK_RBNODE_IS_SEMI_COLLAPSED | GTK_RBNODE_IS_SEMI_EXPANDED | GTK_RBNODE_INVALID | GTK_RBNODE_DESCENDANTS_INVALID + GTK_RBNODE_COLUMN_INVALID = 1 << 8, + GTK_RBNODE_DESCENDANTS_INVALID = 1 << 9, + GTK_RBNODE_NON_COLORS = GTK_RBNODE_IS_PARENT | + GTK_RBNODE_IS_SELECTED | + GTK_RBNODE_IS_PRELIT | + GTK_RBNODE_IS_SEMI_COLLAPSED | + GTK_RBNODE_IS_SEMI_EXPANDED | + GTK_RBNODE_INVALID | + GTK_RBNODE_COLUMN_INVALID | + GTK_RBNODE_DESCENDANTS_INVALID } GtkRBNodeColor; typedef struct _GtkRBTree GtkRBTree; @@ -93,6 +101,7 @@ GtkRBTree *children; }; + #define GTK_RBNODE_GET_COLOR(node) (node?(((node->flags>K_RBNODE_RED)==GTK_RBNODE_RED)?GTK_RBNODE_RED:GTK_RBNODE_BLACK):GTK_RBNODE_BLACK) #define GTK_RBNODE_SET_COLOR(node,color) if((node->flags&color)!=color)node->flags=node->flags^(GTK_RBNODE_RED|GTK_RBNODE_BLACK) #define GTK_RBNODE_GET_HEIGHT(node) (node->offset-(node->left->offset+node->right->offset+(node->children?node->children->root->offset:0))) @@ -109,10 +118,12 @@ void _gtk_rbtree_destroy (GtkRBTree *tree); GtkRBNode *_gtk_rbtree_insert_before (GtkRBTree *tree, GtkRBNode *node, - gint height); + gint height, + gboolean valid); GtkRBNode *_gtk_rbtree_insert_after (GtkRBTree *tree, GtkRBNode *node, - gint height); + gint height, + gboolean valid); void _gtk_rbtree_remove_node (GtkRBTree *tree, GtkRBNode *node); void _gtk_rbtree_reorder (GtkRBTree *tree, @@ -127,6 +138,7 @@ GtkRBNode *node); void _gtk_rbtree_node_mark_valid (GtkRBTree *tree, GtkRBNode *node); +void _gtk_rbtree_column_invalid (GtkRBTree *tree); gint _gtk_rbtree_node_find_offset (GtkRBTree *tree, GtkRBNode *node); gint _gtk_rbtree_node_find_parity (GtkRBTree *tree, Index: gtk/gtktreemodel.c =================================================================== RCS file: /cvs/gnome/gtk+/gtk/gtktreemodel.c,v retrieving revision 1.64 diff -u -r1.64 gtktreemodel.c --- gtk/gtktreemodel.c 2001/11/10 22:06:36 1.64 +++ gtk/gtktreemodel.c 2001/11/16 22:06:40 @@ -1092,6 +1092,16 @@ g_signal_emit_by_name (tree_model, "row_has_child_toggled", path, iter); } +/** + * gtk_tree_model_row_deleted: + * @tree_model: A #GtkTreeModel + * @path: A #GtkTreePath pointing to the previous location of the deleted row. + * + * Emits the "row_deleted" signal on @tree_model. This should be called by + * models after a row has been removed. The location pointed to by @path should + * be the location that the row previously was at. It may not be a valid + * location anymore. + **/ void gtk_tree_model_row_deleted (GtkTreeModel *tree_model, GtkTreePath *path) Index: gtk/gtktreeprivate.h =================================================================== RCS file: /cvs/gnome/gtk+/gtk/gtktreeprivate.h,v retrieving revision 1.34 diff -u -r1.34 gtktreeprivate.h --- gtk/gtktreeprivate.h 2001/10/22 18:24:26 1.34 +++ gtk/gtktreeprivate.h 2001/11/16 22:06:42 @@ -28,8 +28,6 @@ #include #include #include - - #define TREE_VIEW_DRAG_WIDTH 6 @@ -52,8 +50,8 @@ DRAG_COLUMN_WINDOW_STATE_ARROW = 2, DRAG_COLUMN_WINDOW_STATE_ARROW_LEFT = 3, DRAG_COLUMN_WINDOW_STATE_ARROW_RIGHT = 4, - }; + #define GTK_TREE_VIEW_SET_FLAG(tree_view, flag) G_STMT_START{ (tree_view->priv->flags|=flag); }G_STMT_END #define GTK_TREE_VIEW_UNSET_FLAG(tree_view, flag) G_STMT_START{ (tree_view->priv->flags&=~(flag)); }G_STMT_END #define GTK_TREE_VIEW_FLAG_SET(tree_view, flag) ((tree_view->priv->flags&flag)==flag) @@ -109,6 +107,7 @@ GtkTreeViewColumn *expander_column; GtkTreeViewColumn *edited_column; + guint presize_handler_timer; /* Focus code */ GtkTreeViewColumn *focus_column; @@ -185,8 +184,6 @@ GtkDestroyNotify search_destroy; }; -#ifdef __GNUC__ - #define TREE_VIEW_INTERNAL_ASSERT(expr, ret) G_STMT_START{ \ if (!(expr)) \ { \ @@ -204,7 +201,7 @@ return ret; \ }; }G_STMT_END -#define TREE_VIEW_INTERNAL_ASSERT_VOID(expr) G_STMT_START{ \ +#define TREE_VIEW_INTERNAL_ASSERT_VOID(expr) G_STMT_START{ \ if (!(expr)) \ { \ g_log (G_LOG_DOMAIN, \ @@ -220,41 +217,6 @@ #expr); \ return; \ }; }G_STMT_END - -#else - -#define TREE_VIEW_INTERNAL_ASSERT(expr, ret) G_STMT_START{ \ - if (!(expr)) \ - { \ - g_log (G_LOG_DOMAIN, \ - G_LOG_LEVEL_CRITICAL, \ - "file %s: line %d: assertion `%s' failed.\n" \ - "There is a disparity between the internal view of the GtkTreeView,\n" \ - "and the GtkTreeModel. This generally means that the model has changed\n"\ - "without letting the view know. Any display from now on is likely to\n" \ - "be incorrect.\n", \ - __FILE__, \ - __LINE__, \ - #expr); \ - return ret; \ - }; }G_STMT_END - -#define TREE_VIEW_INTERNAL_ASSERT_VOID(expr) G_STMT_START{ \ - if (!(expr)) \ - { \ - g_log (G_LOG_DOMAIN, \ - G_LOG_LEVEL_CRITICAL, \ - "file %s: line %d: assertion '%s' failed.\n" \ - "There is a disparity between the internal view of the GtkTreeView,\n" \ - "and the GtkTreeModel. This generally means that the model has changed\n"\ - "without letting the view know. Any display from now on is likely to\n" \ - "be incorrect.\n", \ - __FILE__, \ - __LINE__, \ - #expr); \ - return; \ - }; }G_STMT_END -#endif /* functions that shouldn't be exported */ Index: gtk/gtktreeview.c =================================================================== RCS file: /cvs/gnome/gtk+/gtk/gtktreeview.c,v retrieving revision 1.173 diff -u -r1.173 gtktreeview.c --- gtk/gtktreeview.c 2001/11/15 22:20:17 1.173 +++ gtk/gtktreeview.c 2001/11/16 22:06:44 @@ -248,6 +248,16 @@ gint *new_order, gpointer data); +/* Incremental reflow */ +static gboolean validate_row (GtkTreeView *tree_view, + GtkRBTree *tree, + GtkRBNode *node, + GtkTreeIter *iter, + GtkTreePath *path); +static void validate_visible_area (GtkTreeView *tree_view); +static gboolean validate_rows_handler (GtkTreeView *tree_view); +static gboolean presize_handler_callback (gpointer data); +static void install_presize_handler (GtkTreeView *tree_view); /* Internal functions */ @@ -293,8 +303,7 @@ GtkRBTree *tree, GtkTreeIter *iter, gint depth, - gboolean recurse, - gboolean calc_bounds); + gboolean recurse); static void gtk_tree_view_calc_size (GtkTreeView *priv, GtkRBTree *tree, GtkTreeIter *iter, @@ -907,6 +916,7 @@ tree_view->priv->press_start_x = -1; tree_view->priv->press_start_y = -1; tree_view->priv->reorderable = FALSE; + tree_view->priv->presize_handler_timer = 0; gtk_tree_view_set_adjustments (tree_view, NULL, NULL); tree_view->priv->selection = _gtk_tree_selection_new_with_tree_view (tree_view); _gtk_tree_view_update_size (tree_view); @@ -968,10 +978,10 @@ } static void -gtk_tree_view_get_property (GObject *object, - guint prop_id, - GValue *value, - GParamSpec *pspec) +gtk_tree_view_get_property (GObject *object, + guint prop_id, + GValue *value, + GParamSpec *pspec) { GtkTreeView *tree_view; @@ -1206,7 +1216,7 @@ tree_view = GTK_TREE_VIEW (widget); - gtk_tree_view_check_dirty_and_clean (GTK_TREE_VIEW (widget)); + // gtk_tree_view_check_dirty_and_clean (GTK_TREE_VIEW (widget)); GTK_WIDGET_SET_FLAGS (widget, GTK_REALIZED); /* Make the main, clipping window */ @@ -1322,6 +1332,12 @@ gtk_timeout_remove (tree_view->priv->expand_collapse_timeout); tree_view->priv->expand_collapse_timeout = 0; } + + if (tree_view->priv->presize_handler_timer != 0) + { + gtk_timeout_remove (tree_view->priv->presize_handler_timer); + tree_view->priv->presize_handler_timer = 0; + } for (list = tree_view->priv->columns; list; list = list->next) _gtk_tree_view_column_unrealize_button (GTK_TREE_VIEW_COLUMN (list->data)); @@ -1471,7 +1487,7 @@ tree_view = GTK_TREE_VIEW (widget); - gtk_tree_view_check_dirty_and_clean (tree_view); + // gtk_tree_view_check_dirty_and_clean (tree_view); tmp_list = tree_view->priv->children; @@ -2518,9 +2534,9 @@ return TRUE; } - gtk_tree_view_check_dirty_and_clean (GTK_TREE_VIEW (widget)); - - new_y = TREE_WINDOW_Y_TO_RBTREE_Y(tree_view, event->area.y); + validate_visible_area (tree_view); + + new_y = TREE_WINDOW_Y_TO_RBTREE_Y (tree_view, event->area.y); if (new_y < 0) new_y = 0; y_offset = -_gtk_rbtree_find_offset (tree_view->priv->tree, new_y, &tree, &node); @@ -3026,13 +3042,171 @@ gtk_tree_view_search_dialog_destroy (search_dialog, GTK_TREE_VIEW (widget)); return FALSE; } + + +/* Incremental Reflow + */ -/* Incremental Reflow */ +/* Returns TRUE if it updated the size + */ +static gboolean +validate_row (GtkTreeView *tree_view, + GtkRBTree *tree, + GtkRBNode *node, + GtkTreeIter *iter, + GtkTreePath *path) +{ + GtkTreeViewColumn *column; + GList *list; + gint height = 0; + gint horizontal_separator; + gint depth = gtk_tree_path_get_depth (path); + gboolean retval = FALSE; + + + if (! GTK_RBNODE_FLAG_SET (node, GTK_RBNODE_INVALID) && + ! GTK_RBNODE_FLAG_SET (node, GTK_RBNODE_COLUMN_INVALID)) + return FALSE; + + gtk_widget_style_get (GTK_WIDGET (tree_view), + "horizontal_separator", &horizontal_separator, + NULL); + + for (list = tree_view->priv->columns; list; list = list->next) + { + gint tmp_width; + gint tmp_height; + + column = list->data; + + if (! column->visible) + continue; + + if (GTK_RBNODE_FLAG_SET (node, GTK_RBNODE_COLUMN_INVALID) && !column->dirty) + continue; + gtk_tree_view_column_cell_set_cell_data (column, tree_view->priv->model, iter, + GTK_RBNODE_FLAG_SET (node, GTK_RBNODE_IS_PARENT), + node->children?TRUE:FALSE); + gtk_tree_view_column_cell_get_size (column, + NULL, NULL, NULL, + &tmp_width, &tmp_height); + height = MAX (height, tmp_height); + + if (gtk_tree_view_is_expander_column (tree_view, column) && TREE_VIEW_DRAW_EXPANDERS (tree_view)) + tmp_width = tmp_width + horizontal_separator + depth * tree_view->priv->tab_offset; + else + tmp_width = tmp_width + horizontal_separator; + + if (tmp_width > column->requested_width) + { + retval = TRUE; + column->requested_width = tmp_width; + } + } + + if (height != GTK_RBNODE_GET_HEIGHT (node)) + { + retval = TRUE; + _gtk_rbtree_node_set_height (tree, node, height); + } + _gtk_rbtree_node_mark_valid (tree, node); + + return retval; +} + + static void validate_visible_area (GtkTreeView *tree_view) { + GtkTreePath *path; + GtkTreeIter iter; + GtkRBTree *tree; + GtkRBNode *node; + gint y, height, offset; + gboolean validated_area = FALSE; + + if (tree_view->priv->tree == NULL) + return; + + if (! GTK_RBNODE_FLAG_SET (tree_view->priv->tree->root, GTK_RBNODE_DESCENDANTS_INVALID)) + return; + height = tree_view->priv->vadjustment->page_size; + y = TREE_WINDOW_Y_TO_RBTREE_Y (tree_view, 0); + offset = _gtk_rbtree_find_offset (tree_view->priv->tree, y, + &tree, &node); + if (node == NULL) + { + path = gtk_tree_path_new_root (); + _gtk_tree_view_find_node (tree_view, path, &tree, &node); + } + else + { + path = _gtk_tree_view_find_path (tree_view, tree, node); + height += offset; + } + + gtk_tree_model_get_iter (tree_view->priv->model, &iter, path); + do + { + validated_area = validated_area || validate_row (tree_view, tree, node, &iter, path); + height -= GTK_RBNODE_GET_HEIGHT (node); + if (node->children) + { + GtkTreeIter parent = iter; + gboolean has_child; + tree = node->children; + node = tree->root; + + g_assert (node != tree->nil); + + while (node->left != tree->nil) + node = node->left; + has_child = gtk_tree_model_iter_children (tree_view->priv->model, + &iter, + &parent); + TREE_VIEW_INTERNAL_ASSERT_VOID (has_child); + gtk_tree_path_append_index (path, 0); + } + else + { + gboolean done = FALSE; + do + { + node = _gtk_rbtree_next (tree, node); + if (node != NULL) + { + gboolean has_next = gtk_tree_model_iter_next (tree_view->priv->model, &iter); + done = TRUE; + + /* Sanity Check! */ + TREE_VIEW_INTERNAL_ASSERT_VOID (has_next); + } + else + { + GtkTreeIter parent_iter = iter; + gboolean has_parent; + + node = tree->parent_node; + tree = tree->parent_tree; + if (tree == NULL) + break; + has_parent = gtk_tree_model_iter_parent (tree_view->priv->model, + &iter, + &parent_iter); + + /* Sanity check */ + TREE_VIEW_INTERNAL_ASSERT_VOID (has_parent); + } + } + while (!done); + } + } + while (node && height > 0); + + if (validated_area) + _gtk_tree_view_update_size (tree_view); } static gboolean @@ -3052,14 +3226,26 @@ static gboolean presize_handler_callback (gpointer data) { + GtkTreeView *tree_view = GTK_TREE_VIEW (data); + GDK_THREADS_ENTER (); + + validate_visible_area (tree_view); + tree_view->priv->presize_handler_timer = 0; + + GDK_THREADS_LEAVE (); + return TRUE; } static void install_presize_handler (GtkTreeView *tree_view) { - + if (tree_view->priv->presize_handler_timer != 0) + { + tree_view->priv->presize_handler_timer = + g_idle_add_full (GTK_PRIORITY_RESIZE - 2, presize_handler_callback, tree_view, NULL); + } } /* Drag-and-drop */ @@ -4535,12 +4721,12 @@ if (indices[depth - 1] == 0) { tmpnode = _gtk_rbtree_find_count (tree, 1); - _gtk_rbtree_insert_before (tree, tmpnode, max_height); + _gtk_rbtree_insert_before (tree, tmpnode, max_height, TRUE); } else { tmpnode = _gtk_rbtree_find_count (tree, indices[depth - 1]); - _gtk_rbtree_insert_after (tree, tmpnode, max_height); + _gtk_rbtree_insert_after (tree, tmpnode, max_height, TRUE); } _gtk_tree_view_update_size (tree_view); @@ -4899,23 +5085,14 @@ GtkRBTree *tree, GtkTreeIter *iter, gint depth, - gboolean recurse, - gboolean calc_bounds) + gboolean recurse) { GtkRBNode *temp = NULL; - gint max_height; do { - max_height = 0; - if (calc_bounds) - max_height = gtk_tree_view_insert_iter_height (tree_view, - tree, - iter, - depth); - gtk_tree_model_ref_node (tree_view->priv->model, iter); - temp = _gtk_rbtree_insert_after (tree, temp, max_height); + temp = _gtk_rbtree_insert_after (tree, temp, 0, FALSE); if (recurse) { GtkTreeIter child; @@ -4925,7 +5102,7 @@ temp->children = _gtk_rbtree_new (); temp->children->parent_tree = tree; temp->children->parent_node = temp; - gtk_tree_view_build_tree (tree_view, temp->children, &child, depth + 1, recurse, calc_bounds); + gtk_tree_view_build_tree (tree_view, temp->children, &child, depth + 1, recurse); } } if (gtk_tree_model_iter_has_child (tree_view->priv->model, iter)) @@ -5325,6 +5502,9 @@ { GList *list; + if (GTK_TREE_VIEW_FLAG_SET (tree_view, GTK_TREE_VIEW_IS_LIST)) + return FALSE; + if (tree_view->priv->expander_column != NULL) { if (tree_view->priv->expander_column == column) @@ -6314,6 +6494,9 @@ else height = tree_view->priv->tree->root->offset + vertical_separator; + if (tree_view->priv->width == width && tree_view->priv->height == height) + return; + if (tree_view->priv->width != width) { tree_view->priv->width = width; @@ -6552,7 +6735,7 @@ if (gtk_tree_model_get_iter (tree_view->priv->model, &iter, path)) { tree_view->priv->tree = _gtk_rbtree_new (); - gtk_tree_view_build_tree (tree_view, tree_view->priv->tree, &iter, 1, FALSE, GTK_WIDGET_REALIZED (tree_view)); + gtk_tree_view_build_tree (tree_view, tree_view->priv->tree, &iter, 1, FALSE); } gtk_tree_path_free (path); @@ -7432,8 +7615,7 @@ node->children, &child, gtk_tree_path_get_depth (path) + 1, - TRUE, - GTK_WIDGET_REALIZED (tree_view)); + TRUE); gtk_tree_path_free (path); } } @@ -7609,8 +7791,7 @@ node->children, &temp, gtk_tree_path_get_depth (path) + 1, - open_all, - GTK_WIDGET_REALIZED (tree_view)); + open_all); if (tree_view->priv->expand_collapse_timeout) { Index: tests/testtreeedit.c =================================================================== RCS file: /cvs/gnome/gtk+/tests/testtreeedit.c,v retrieving revision 1.1 diff -u -r1.1 testtreeedit.c --- tests/testtreeedit.c 2001/09/25 16:44:39 1.1 +++ tests/testtreeedit.c 2001/11/16 22:06:44 @@ -121,7 +121,6 @@ g_object_set (G_OBJECT (renderer), "xalign", 0.0, - "mode", GTK_CELL_RENDERER_MODE_ACTIVATABLE, NULL); gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (tree_view), -1, "Editable",