+2006-01-14 Kristian Rietveld <kris@gtk.org>
+
+ * gtk/gtktreeview.c (gtk_tree_view_size_allocate),
+ (validate_visible_area): fixup adjustments and top_row if the
+ current dy + page_size exceeds the new tree view height. (Fixes
+ #316689, reported by Chris Lord).
+
2006-01-13 Matthias Clasen <mclasen@redhat.com>
* */abicheck.sh: Make this work on more platforms.
+2006-01-14 Kristian Rietveld <kris@gtk.org>
+
+ * gtk/gtktreeview.c (gtk_tree_view_size_allocate),
+ (validate_visible_area): fixup adjustments and top_row if the
+ current dy + page_size exceeds the new tree view height. (Fixes
+ #316689, reported by Chris Lord).
+
2006-01-13 Matthias Clasen <mclasen@redhat.com>
* */abicheck.sh: Make this work on more platforms.
/* now the adjustments and window sizes are in sync, we can sync toprow/dy again */
if (tree_view->priv->height <= tree_view->priv->vadjustment->page_size)
gtk_adjustment_set_value (GTK_ADJUSTMENT (tree_view->priv->vadjustment), 0);
+ else if (tree_view->priv->vadjustment->value + tree_view->priv->vadjustment->page_size > tree_view->priv->height)
+ gtk_adjustment_set_value (GTK_ADJUSTMENT (tree_view->priv->vadjustment),
+ tree_view->priv->height - tree_view->priv->vadjustment->page_size);
else if (gtk_tree_row_reference_valid (tree_view->priv->top_row))
gtk_tree_view_top_row_to_dy (tree_view);
else
gtk_adjustment_set_value (GTK_ADJUSTMENT (tree_view->priv->vadjustment), 0);
gtk_tree_view_dy_to_top_row (tree_view);
}
+ else if (tree_view->priv->vadjustment->value + tree_view->priv->vadjustment->page_size > tree_view->priv->height)
+ {
+ gtk_adjustment_set_value (GTK_ADJUSTMENT (tree_view->priv->vadjustment), tree_view->priv->height - tree_view->priv->vadjustment->page_size);
+ gtk_tree_view_dy_to_top_row (tree_view);
+ }
else
gtk_tree_view_top_row_to_dy (tree_view);