gnumeric r16325 - in branches/gnumeric-1-8: . plugins/excel src
- From: mortenw svn gnome org
- To: svn-commits-list gnome org
- Subject: gnumeric r16325 - in branches/gnumeric-1-8: . plugins/excel src
- Date: Fri, 1 Feb 2008 02:44:27 +0000 (GMT)
Author: mortenw
Date: Fri Feb 1 02:44:27 2008
New Revision: 16325
URL: http://svn.gnome.org/viewvc/gnumeric?rev=16325&view=rev
Log:
2008-01-31 Morten Welinder <terra gnome org>
* src/expr.c (gnm_expr_eval): Handle the case of no value
calculated for the array. [#513559]
2008-01-31 Morten Welinder <terra gnome org>
* ms-excel-read.c (excel_set_xf): Ditto. Fixes #513551.
Modified:
branches/gnumeric-1-8/ChangeLog
branches/gnumeric-1-8/NEWS
branches/gnumeric-1-8/plugins/excel/ChangeLog
branches/gnumeric-1-8/plugins/excel/ms-excel-read.c
branches/gnumeric-1-8/src/expr.c
Modified: branches/gnumeric-1-8/NEWS
==============================================================================
--- branches/gnumeric-1-8/NEWS (original)
+++ branches/gnumeric-1-8/NEWS Fri Feb 1 02:44:27 2008
@@ -4,8 +4,9 @@
* Fix loading of solver constraints.
* Fix solver issue. [#512500]
* Fix corrupted-xls-file problems. [#512984] [#513005] [#513313]
- [#513317] [#513361] [#513364]
+ [#513317] [#513361] [#513364] [#513551]
* Fix non-ascii export problem. [#511135]
+ * Band-aid evaluation problem with broken xls. [#513559]
--------------------------------------------------------------------------
Gnumeric 1.8.1
Modified: branches/gnumeric-1-8/plugins/excel/ms-excel-read.c
==============================================================================
--- branches/gnumeric-1-8/plugins/excel/ms-excel-read.c (original)
+++ branches/gnumeric-1-8/plugins/excel/ms-excel-read.c Fri Feb 1 02:44:27 2008
@@ -1859,10 +1859,15 @@
static BiffXFData const *
excel_set_xf (ExcelReadSheet *esheet, BiffQuery *q)
{
- guint16 const col = XL_GETCOL (q);
- guint16 const row = XL_GETROW (q);
- BiffXFData const *xf = excel_get_xf (esheet, GSF_LE_GET_GUINT16 (q->data + 4));
- GnmStyle *mstyle = excel_get_style_from_xf (esheet, xf);
+ guint16 col, row;
+ BiffXFData const *xf;
+ GnmStyle *mstyle;
+
+ XL_CHECK_CONDITION_VAL (q->length >= 6, NULL);
+ col = XL_GETCOL (q);
+ row = XL_GETROW (q);
+ xf = excel_get_xf (esheet, GSF_LE_GET_GUINT16 (q->data + 4));
+ mstyle = excel_get_style_from_xf (esheet, xf);
d (3, fprintf (stderr,"%s!%s%d = xf(0x%hx) = style (%p) [LEN = %u]\n", esheet->sheet->name_unquoted,
col_name (col), row + 1, GSF_LE_GET_GUINT16 (q->data + 4), mstyle, q->length););
Modified: branches/gnumeric-1-8/src/expr.c
==============================================================================
--- branches/gnumeric-1-8/src/expr.c (original)
+++ branches/gnumeric-1-8/src/expr.c Fri Feb 1 02:44:27 2008
@@ -1404,6 +1404,8 @@
gnm_cell_eval (corner);
a = corner->base.texpr->expr->array_corner.value;
+ if (a == NULL)
+ return handle_empty (NULL, flags);
if ((a->type == VALUE_CELLRANGE || a->type == VALUE_ARRAY)) {
int const num_x = value_area_get_width (a, pos);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]