This change causes _pspp_sheet_view_install_mark_rows_col_dirty to be called once
per sheet, instead of once per column when adding/deleting columns. Hence there
is a significant speed improvement when dealing with a data sheet with a large
number of variables.
Fixes bug #47090
* driving the scrollable adjustment values */
guint hscroll_policy : 1;
guint vscroll_policy : 1;
+
+ /* For optimisation of size allocate requests */
+ guint resized : 1;
};
#ifdef __GNUC__
tree_column->width = 0;
if (tree_column->tree_view &&
+ PSPP_SHEET_VIEW (tree_column->tree_view)->priv->resized &&
gtk_widget_get_realized (tree_column->tree_view))
{
+ PSPP_SHEET_VIEW (tree_column->tree_view)->priv->resized = FALSE;
_pspp_sheet_view_install_mark_rows_col_dirty (PSPP_SHEET_VIEW (tree_column->tree_view));
gtk_widget_queue_resize (tree_column->tree_view);
}
}
update_childrens_allocation(tree_view);
}
+
+ tree_view->priv->resized = TRUE;
}
/* Grabs the focus and unsets the PSPP_SHEET_VIEW_DRAW_KEYFOCUS flag */