[gnumeric] calc: propagate errors for 'r' and 'A' arguments.



commit 24a71801fec4161974d03a3d20bb533904eb46a3
Author: Morten Welinder <terra gnome org>
Date:   Fri Apr 16 08:30:28 2010 -0400

    calc: propagate errors for 'r' and 'A' arguments.

 ChangeLog  |   10 ++++++++--
 NEWS       |    1 +
 src/func.c |    5 +++++
 3 files changed, 14 insertions(+), 2 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index 0b4c0b8..c8e0e8c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,7 +1,13 @@
+2010-04-16  Morten Welinder  <terra gnome org>
+
+	* src/func.c (function_call_with_exprs): When we compute an error
+	value for an 'A' or 'r' argument, return that error.  Fixes
+	#615772.
+
 2010-04-14  Jean Brefort  <jean brefort normalesup org>
 
-	* src/pattern.c (gnumeric_background_set_gtk): print pattern backgrounds.
-	[#615365]
+	* src/pattern.c (gnumeric_background_set_gtk): print pattern
+	backgrounds. [#615365]
 
 2010-04-09  Jean Brefort  <jean brefort normalesup org>
 
diff --git a/NEWS b/NEWS
index 1516105..a00455e 100644
--- a/NEWS
+++ b/NEWS
@@ -31,6 +31,7 @@ Morten:
 	* Set win32 stack size to 64M.  [#571346]
 	* Patch gtk+ so GtkEntry widgets on win32 draw right.  [#603667]
 	* Fix xls export of cell comments.  [#615845]
+	* Fix error propagation problem.  [#615772]
 
 --------------------------------------------------------------------------
 Gnumeric 1.10.1
diff --git a/src/func.c b/src/func.c
index a08f80f..ab7b7f9 100644
--- a/src/func.c
+++ b/src/func.c
@@ -1255,6 +1255,11 @@ function_call_with_exprs (GnmFuncEvalInfo *ei, GnmExprEvalFlags flags)
 			} else {
 				tmp = args[i] = gnm_expr_eval (expr, ei->pos,
 					GNM_EXPR_EVAL_PERMIT_NON_SCALAR);
+				if (VALUE_IS_ERROR (tmp)) {
+					free_values (args, i);
+					return tmp;
+				}
+
 				if (tmp->type == VALUE_CELLRANGE) {
 					gnm_cellref_make_abs (&tmp->v_range.cell.a,
 						&tmp->v_range.cell.a,



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]