diff options
author | Ettore Perazzoli <ettore@src.gnome.org> | 2003-05-16 04:58:15 +0800 |
---|---|---|
committer | Ettore Perazzoli <ettore@src.gnome.org> | 2003-05-16 04:58:15 +0800 |
commit | b47a4aa4ee1aa175814c41a9d8172af18b50ccd8 (patch) | |
tree | adfec8c573cb3d3542374427ce4824863536a9fa | |
parent | 13006ba0dc5c00adbb4dd24d75a979c4e8592f4a (diff) | |
download | gsoc2013-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.c | 10 |
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 |