[gnumeric] GUI: avoid criticals.



commit f809cd53426f8576df02d86eef747032f69b76d1
Author: Morten Welinder <terra gnome org>
Date:   Wed Nov 24 15:19:44 2010 -0500

    GUI: avoid criticals.

 NEWS                              |    1 +
 src/widgets/ChangeLog             |    5 +++++
 src/widgets/gnumeric-expr-entry.c |   13 ++++++++-----
 3 files changed, 14 insertions(+), 5 deletions(-)
---
diff --git a/NEWS b/NEWS
index a4123b8..385355f 100644
--- a/NEWS
+++ b/NEWS
@@ -34,6 +34,7 @@ Morten:
 	* Take care of dead kittens.
 	* Fix text object clipping issue.  [#634597]
 	* Fix problem with disappearing window for empty file.  [#634792]
+	* Fix ranges-in-expression criticals.
 
 Sameer Morar:
 	* Add key combinations to move sheets. [#634139]
diff --git a/src/widgets/ChangeLog b/src/widgets/ChangeLog
index 589caf9..a9937fa 100644
--- a/src/widgets/ChangeLog
+++ b/src/widgets/ChangeLog
@@ -1,3 +1,8 @@
+2010-11-24  Morten Welinder  <terra gnome org>
+
+	* gnumeric-expr-entry.c (gee_scan_for_range): Fix criticals with
+	file from 635711.
+
 2010-10-01  Morten Welinder <terra gnome org>
 
 	* Release 1.10.11
diff --git a/src/widgets/gnumeric-expr-entry.c b/src/widgets/gnumeric-expr-entry.c
index 88786ee..c3d8b4f 100644
--- a/src/widgets/gnumeric-expr-entry.c
+++ b/src/widgets/gnumeric-expr-entry.c
@@ -562,14 +562,17 @@ gee_scan_for_range (GnmExprEntry *gee)
 			GSList *list = gnm_expr_top_get_ranges (gee->texpr);
 			for (ptr = list ; ptr != NULL ; ptr = ptr->next) {
 				GnmValue *v = ptr->data;
-				GnmRange  r;
+				GnmRange r;
+				Sheet *start_sheet, *end_sheet;
 				GnmRangeRef const *rr = value_get_rangeref (v);
 				GnmRange const *merge; /* [#127415] */
-				if (rr->a.sheet != NULL && rr->a.sheet != sheet)
-					continue;
-				if (rr->b.sheet != NULL && rr->b.sheet != sheet)
+				gnm_rangeref_normalize_pp (rr, &gee->pp,
+							   &start_sheet,
+							   &end_sheet,
+							   &r);
+
+				if (start_sheet != sheet || end_sheet != sheet)
 					continue;
-				range_init_rangeref (&r, rr);
 				if (range_is_singleton  (&r) &&
 				    NULL != (merge = gnm_sheet_merge_is_corner
 					     (sheet, &r.start)))



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