+2005-06-17 Kristian Rietveld <kris@gtk.org>
+
+ * gtk/gtktreeview.c (validate_visible_area): don't try to update
+ the top_row rowref ourselves here, but just have _dy_to_top_row()
+ do it,
+ (gtk_tree_view_scroll_to_cell): handle scrolling via
+ validate_visible_area() if the treeview is not visible or needs
+ reallocation. (#165246, Nickolay V. Shmyrev).
+
2005-06-17 Kristian Rietveld <kris@gtk.org>
Fixes #307914 (Alexander Larsson), fixing some breakage caused
+2005-06-17 Kristian Rietveld <kris@gtk.org>
+
+ * gtk/gtktreeview.c (validate_visible_area): don't try to update
+ the top_row rowref ourselves here, but just have _dy_to_top_row()
+ do it,
+ (gtk_tree_view_scroll_to_cell): handle scrolling via
+ validate_visible_area() if the treeview is not visible or needs
+ reallocation. (#165246, Nickolay V. Shmyrev).
+
2005-06-17 Kristian Rietveld <kris@gtk.org>
Fixes #307914 (Alexander Larsson), fixing some breakage caused
+2005-06-17 Kristian Rietveld <kris@gtk.org>
+
+ * gtk/gtktreeview.c (validate_visible_area): don't try to update
+ the top_row rowref ourselves here, but just have _dy_to_top_row()
+ do it,
+ (gtk_tree_view_scroll_to_cell): handle scrolling via
+ validate_visible_area() if the treeview is not visible or needs
+ reallocation. (#165246, Nickolay V. Shmyrev).
+
2005-06-17 Kristian Rietveld <kris@gtk.org>
Fixes #307914 (Alexander Larsson), fixing some breakage caused
dy = 0;
gtk_adjustment_set_value (tree_view->priv->vadjustment, dy);
-
- if (tree_view->priv->top_row)
- {
- gtk_tree_row_reference_free (tree_view->priv->top_row);
- tree_view->priv->top_row = NULL;
- }
-
- tree_view->priv->top_row = gtk_tree_row_reference_new_proxy (G_OBJECT (tree_view), tree_view->priv->model, above_path);
+ gtk_tree_view_dy_to_top_row (tree_view);
need_redraw = TRUE;
}
* scrolling code, we short-circuit validate_visible_area's immplementation as
* it is much slower than just going to the point.
*/
- if (! GTK_WIDGET_REALIZED (tree_view) ||
+ if (! GTK_WIDGET_VISIBLE (tree_view) ||
+ GTK_WIDGET_ALLOC_NEEDED (tree_view) ||
GTK_RBNODE_FLAG_SET (tree_view->priv->tree->root, GTK_RBNODE_DESCENDANTS_INVALID))
{
if (tree_view->priv->scroll_to_path)