Commit 3ef330b4 authored by Morten Welinder's avatar Morten Welinder

.gnumeric: don't repeat error messages for missing shared expressions.

Once per id is plenty.
parent 9f4e5db3
2015-01-13 Morten Welinder <terra@gnome.org>
* src/xml-sax-read.c (xml_sax_cell_content): When we discover a
missing shared expression, define a dummy version so we don't get
repeated errors.
2015-01-09 Morten Welinder <terra@gnome.org>
* src/value.c (value_compare_real): Rewrite. Handle errors and
......
......@@ -24,6 +24,7 @@ Morten:
* Fix import of extended float formula results from wk4 files.
* Fix ADDRESS problem.
* Fix sheet-filter problem with errors. [#742601]
* Improve error handling for .gnumeric a bit.
Thomas Kluyver:
* Fix import of extended floats from wk4 files. [#739679]
......
......@@ -2128,16 +2128,19 @@ xml_sax_cell_content (GsfXMLIn *xin, G_GNUC_UNUSED GsfXMLBlob *blob)
} else if (expr_id > 0) {
GnmExprTop const *texpr = g_hash_table_lookup (state->expr_map,
GINT_TO_POINTER (expr_id));
GnmExprTop const *dummy = NULL;
if (!texpr) {
char *msg = g_strdup_printf
("Looking up shared expression id %d",
expr_id);
char *s = g_strdup_printf ("<shared expression %d>", expr_id);
xml_sax_barf (G_STRFUNC, msg);
g_free (msg);
texpr = dummy = gnm_expr_top_new_constant (value_new_int (0));
texpr = gnm_expr_top_new_constant (value_new_string_nocopy (s));
g_hash_table_insert (state->expr_map,
GINT_TO_POINTER (expr_id),
(gpointer)texpr);
}
if (cell)
......@@ -2146,8 +2149,6 @@ xml_sax_cell_content (GsfXMLIn *xin, G_GNUC_UNUSED GsfXMLBlob *blob)
cc->texpr = texpr;
gnm_expr_top_ref (texpr);
}
if (dummy)
gnm_expr_top_unref (dummy);
} else if (is_new_cell) {
GnmValue *v;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment