[gnumeric] lpsolve: calculate after writing.
- From: Morten Welinder <mortenw src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [gnumeric] lpsolve: calculate after writing.
- Date: Thu, 29 Oct 2009 01:32:30 +0000 (UTC)
commit 43d652629db962fd19bf094e63073083346e820d
Author: Morten Welinder <terra gnome org>
Date: Wed Oct 28 21:32:01 2009 -0400
lpsolve: calculate after writing.
plugins/lpsolve/lpsolve-write.c | 20 ++++----------------
1 files changed, 4 insertions(+), 16 deletions(-)
---
diff --git a/plugins/lpsolve/lpsolve-write.c b/plugins/lpsolve/lpsolve-write.c
index 217fdd9..f925ba2 100644
--- a/plugins/lpsolve/lpsolve-write.c
+++ b/plugins/lpsolve/lpsolve-write.c
@@ -26,7 +26,6 @@
#include <cell.h>
#include <solver.h>
#include <ranges.h>
-#include <expr.h>
#include <parse-util.h>
#include <gutils.h>
#include <goffice/goffice.h>
@@ -157,26 +156,13 @@ lpsolve_create_program (Sheet *sheet, GError **err)
/* This is insane -- why do we keep a string? */
{
+ GnmValue *vr =
+ value_new_cellrange_str (sheet, sp->input_entry_str);
GnmEvalPos ep;
- GnmParsePos pp;
- GnmValue *vr = NULL;
- GnmExprTop const *texpr;
- GnmExprParseFlags flags =
- GNM_EXPR_PARSE_FORCE_ABSOLUTE_REFERENCES |
- GNM_EXPR_PARSE_UNKNOWN_NAMES_ARE_INVALID;
g_slist_free (sp->input_cells);
sp->input_cells = NULL;
- parse_pos_init_sheet (&pp, sheet);
- texpr = gnm_expr_parse_str (sp->input_entry_str, &pp,
- flags, sheet->convs,
- NULL);
- if (texpr) {
- vr = gnm_expr_top_get_range (texpr);
- gnm_expr_top_unref (texpr);
- }
-
if (!vr) {
g_set_error (err,
go_error_invalid (),
@@ -347,6 +333,8 @@ lpsolve_file_save (GOFileSaver const *fs, GOIOContext *io_context,
prg = lpsolve_create_program (sheet, &err);
gnm_pop_C_locale (locale);
+ workbook_recalc (sheet->workbook);
+
if (!prg) {
go_cmd_context_error_import (GO_CMD_CONTEXT (io_context),
err ? err->message : "?");
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]