[gnumeric] Evaluation: make sure evaluation caches get cleared.
- From: Morten Welinder <mortenw src gnome org>
- To: svn-commits-list gnome org
- Subject: [gnumeric] Evaluation: make sure evaluation caches get cleared.
- Date: Thu, 14 May 2009 13:08:04 -0400 (EDT)
commit 36d66b188b5d088a7a4457752213fdc120644d2a
Author: Morten Welinder <terra gnome org>
Date: Thu May 14 13:07:22 2009 -0400
Evaluation: make sure evaluation caches get cleared.
---
ChangeLog | 5 +++++
src/application.c | 8 ++++++++
src/application.h | 2 ++
src/dependent.c | 2 +-
src/workbook-view.c | 1 +
5 files changed, 17 insertions(+), 1 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 631d8f5..13a35b5 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
2009-05-14 Morten Welinder <terra gnome org>
+ * src/application.c (gnm_app_recalc_finished): New function.
+ * src/dependent.c (workbook_recalc): Use gnm_app_recalc_finished.
+ * src/workbook-view.c (wb_view_auto_expr_recalc): Call
+ gnm_app_recalc_finished.
+
* src/commands.c (cmd_so_set_adjustment): Handle h/v too. All
callers changed.
* src/sheet-object-widget.c (sheet_widget_adjustment_user_config_impl):
diff --git a/src/application.c b/src/application.c
index 6d14e53..e9cea69 100644
--- a/src/application.c
+++ b/src/application.c
@@ -863,3 +863,11 @@ _gnm_app_flag_windows_changed (void)
windows_update_timer = g_timeout_add (100,
(GSourceFunc)cb_flag_windows_changed, NULL);
}
+
+/**********************************************************************/
+
+void
+gnm_app_recalc_finished (void)
+{
+ g_signal_emit_by_name (gnm_app_get_app (), "recalc-finished");
+}
diff --git a/src/application.h b/src/application.h
index 73808d0..ed96d33 100644
--- a/src/application.h
+++ b/src/application.h
@@ -27,6 +27,8 @@ gboolean gnm_app_workbook_foreach (GnmWbIterFunc func, gpointer data);
GSList *gnm_app_history_get_list (int max_elements);
void gnm_app_history_add (char const *filename, const char *mimetype);
+void gnm_app_recalc_finished (void);
+
/* GtkFileFilter */
void *gnm_app_create_opener_filter (void);
diff --git a/src/dependent.c b/src/dependent.c
index 513825b..bd2bef5 100644
--- a/src/dependent.c
+++ b/src/dependent.c
@@ -2659,7 +2659,7 @@ workbook_recalc (Workbook *wb)
* expensive.
*/
if (redraw) {
- g_signal_emit_by_name (gnm_app_get_app (), "recalc-finished");
+ gnm_app_recalc_finished ();
WORKBOOK_FOREACH_SHEET (wb, sheet, {
SHEET_FOREACH_VIEW (sheet, sv, sv_flag_selection_change (sv););
diff --git a/src/workbook-view.c b/src/workbook-view.c
index 02771fe..6238180 100644
--- a/src/workbook-view.c
+++ b/src/workbook-view.c
@@ -487,6 +487,7 @@ wb_view_auto_expr_recalc (WorkbookView *wbv)
ei.pos = eval_pos_init_sheet (&ep, wbv->current_sheet);
ei.func_call = &expr->func;
v = function_call_with_exprs (&ei, 0);
+ gnm_app_recalc_finished ();
if (v) {
GString *str = g_string_new (wbv->auto_expr_descr);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]