[gnumeric] Fix another case of using a NULL sheet for size. #580953.
- From: Morten Welinder <mortenw src gnome org>
- To: svn-commits-list gnome org
- Subject: [gnumeric] Fix another case of using a NULL sheet for size. #580953.
- Date: Thu, 30 Apr 2009 20:40:50 -0400 (EDT)
commit aa3661e383500ac238acd6debc24f176822e97f5
Author: Morten Welinder <terra gnome org>
Date: Thu Apr 30 20:41:30 2009 -0400
Fix another case of using a NULL sheet for size. #580953.
---
ChangeLog | 4 ++++
src/position.c | 10 ++++++----
2 files changed, 10 insertions(+), 4 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index f492823..34f67ef 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
2009-04-30 Morten Welinder <terra gnome org>
+ * src/position.c (gnm_cellref_get_row, gnm_cellref_get_col): Get
+ sheet size from eval-pos, if the ref doesn't have one. Fixes
+ #580953.
+
* src/wbc-gtk.c (set_entry_contents): New function for common
code.
(cb_dataset_changed, wbcg_data_allocator_editor): Use
diff --git a/src/position.c b/src/position.c
index 5006722..de3db30 100644
--- a/src/position.c
+++ b/src/position.c
@@ -266,9 +266,10 @@ gnm_cellref_get_col (GnmCellRef const *ref, GnmEvalPos const *ep)
g_return_val_if_fail (ep != NULL, 0);
if (ref->col_relative) {
- int res = (ep->eval.col + ref->col) % gnm_sheet_get_max_cols (ref->sheet);
+ Sheet const *sheet = eval_sheet (ref->sheet, ep->sheet);
+ int res = (ep->eval.col + ref->col) % gnm_sheet_get_max_cols (sheet);
if (res < 0)
- return res + gnm_sheet_get_max_cols (ref->sheet);
+ return res + gnm_sheet_get_max_cols (sheet);
return res;
}
return ref->col;
@@ -281,9 +282,10 @@ gnm_cellref_get_row (GnmCellRef const *ref, GnmEvalPos const *ep)
g_return_val_if_fail (ep != NULL, 0);
if (ref->row_relative) {
- int res = (ep->eval.row + ref->row) % gnm_sheet_get_max_rows (ref->sheet);
+ Sheet const *sheet = eval_sheet (ref->sheet, ep->sheet);
+ int res = (ep->eval.row + ref->row) % gnm_sheet_get_max_rows (sheet);
if (res < 0)
- return res + gnm_sheet_get_max_rows (ref->sheet);
+ return res + gnm_sheet_get_max_rows (sheet);
return res;
}
return ref->row;
[Date Prev][
Date Next] [Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]