aboutsummaryrefslogtreecommitdiffstats
path: root/widgets/table/e-table.c
diff options
context:
space:
mode:
Diffstat (limited to 'widgets/table/e-table.c')
-rw-r--r--widgets/table/e-table.c34
1 files changed, 18 insertions, 16 deletions
diff --git a/widgets/table/e-table.c b/widgets/table/e-table.c
index d368b92716..c4239068fa 100644
--- a/widgets/table/e-table.c
+++ b/widgets/table/e-table.c
@@ -161,22 +161,6 @@ e_table_setup_header (ETable *e_table)
gtk_widget_set_usize (GTK_WIDGET (e_table->header_canvas), -1, COLUMN_HEADER_HEIGHT);
}
-static void
-table_canvas_size_allocate (GtkWidget *widget, GtkAllocation *alloc,
- ETable *e_table)
-{
- gdouble width;
- width = alloc->width;
-
- gtk_object_set (GTK_OBJECT (e_table->group),
- "minimum_width", width,
- NULL);
- gtk_object_set (GTK_OBJECT (e_table->header),
- "width", width,
- NULL);
-
-}
-
static gboolean
table_canvas_reflow_idle (ETable *e_table)
{
@@ -196,6 +180,24 @@ table_canvas_reflow_idle (ETable *e_table)
}
static void
+table_canvas_size_allocate (GtkWidget *widget, GtkAllocation *alloc,
+ ETable *e_table)
+{
+ gdouble width;
+ width = alloc->width;
+
+ gtk_object_set (GTK_OBJECT (e_table->group),
+ "minimum_width", width,
+ NULL);
+ gtk_object_set (GTK_OBJECT (e_table->header),
+ "width", width,
+ NULL);
+ if (e_table->reflow_idle_id)
+ g_source_remove(e_table->reflow_idle_id);
+ table_canvas_reflow_idle(e_table);
+}
+
+static void
table_canvas_reflow (GnomeCanvas *canvas, ETable *e_table)
{
if (!e_table->reflow_idle_id)