aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEttore Perazzoli <ettore@src.gnome.org>2003-05-16 04:58:15 +0800
committerEttore Perazzoli <ettore@src.gnome.org>2003-05-16 04:58:15 +0800
commitb47a4aa4ee1aa175814c41a9d8172af18b50ccd8 (patch)
treeadfec8c573cb3d3542374427ce4824863536a9fa
parent13006ba0dc5c00adbb4dd24d75a979c4e8592f4a (diff)
downloadgsoc2013-evolution-b47a4aa4ee1aa175814c41a9d8172af18b50ccd8.tar.gz
gsoc2013-evolution-b47a4aa4ee1aa175814c41a9d8172af18b50ccd8.tar.zst
gsoc2013-evolution-b47a4aa4ee1aa175814c41a9d8172af18b50ccd8.zip
(tree_canvas_size_allocate): Call
tree_canvas_reflow_idle() before deciding whether to move the adjustment, not afterwards. [#42952] svn path=/trunk/; revision=21197
-rw-r--r--widgets/table/e-tree.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/widgets/table/e-tree.c b/widgets/table/e-tree.c
index 27c7e9ae1b..0a13f64c50 100644
--- a/widgets/table/e-tree.c
+++ b/widgets/table/e-tree.c
@@ -772,17 +772,17 @@ tree_canvas_size_allocate (GtkWidget *widget, GtkAllocation *alloc,
g_object_set_property (G_OBJECT (e_tree->priv->header), "width", val);
g_free (val);
+ if (e_tree->priv->reflow_idle_id)
+ g_source_remove(e_tree->priv->reflow_idle_id);
+ tree_canvas_reflow_idle(e_tree);
+
if (path)
e_tree_get_cell_geometry (e_tree, e_tree_row_of_node(e_tree, path), 0, &x, &y, &w, &h);
else
y = h = 0;
- if (y < adj->value || y + h > adj->value + adj->page_size)
+ if (y < adj->value || y + h > adj->value + adj->page_size)
gtk_adjustment_set_value(adj, CLAMP(y - adj->page_size / 2, adj->lower, adj->upper - adj->page_size));
-
- if (e_tree->priv->reflow_idle_id)
- g_source_remove(e_tree->priv->reflow_idle_id);
- tree_canvas_reflow_idle(e_tree);
}
static void