blob: 4e77ddf9f9732503b9777868c30b0a7a87774336 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
diff -u -p -r1.498 gtktreeview.c
--- gtk+-2.8.9/gtk/gtktreeview.c 22 Oct 2005 21:08:23 -0000 1.498
+++ gtk+-2.8.9/gtk/gtktreeview.c 24 Oct 2005 22:30:27 -0000
@@ -2098,6 +2098,9 @@ gtk_tree_view_size_allocate (GtkWidget
/* 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
@ -5031,6 +5034,11 @@ validate_visible_area (GtkTreeView *tree
* else than zero. we update top_row to be in sync with dy = 0.
*/
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
|