[gnumeric] XLS import: make sure we end up with a valid selection.



commit cf0d249d71ef2ff4e280c95ee8de0a74fece602d
Author: Morten Welinder <terra gnome org>
Date:   Wed Oct 13 13:17:48 2010 -0400

    XLS import: make sure we end up with a valid selection.

 NEWS                          |    3 +++
 plugins/excel/ChangeLog       |    5 +++++
 plugins/excel/ms-excel-read.c |    5 +++++
 3 files changed, 13 insertions(+), 0 deletions(-)
---
diff --git a/NEWS b/NEWS
index e176fa1..da11b6d 100644
--- a/NEWS
+++ b/NEWS
@@ -15,6 +15,9 @@ Andreas:
 Jean:
 	* Fixed maximum for col/row number in sheet resize dialog. [#631702]
 
+Morten:
+	* Fix crash related to broken xls.  [#632050]
+
 --------------------------------------------------------------------------
 Gnumeric 1.10.11
 
diff --git a/plugins/excel/ChangeLog b/plugins/excel/ChangeLog
index 66b67a9..d6a1f6e 100644
--- a/plugins/excel/ChangeLog
+++ b/plugins/excel/ChangeLog
@@ -1,3 +1,8 @@
+2010-10-13  Morten Welinder  <terra gnome org>
+
+	* ms-excel-read.c (excel_read_SELECTION): Work around missing
+	selection.  Fixes #632050.
+
 2010-10-03  Jean Brefort  <jean brefort normalesup org>
 
 	* xlsx-write.c (xlsx_write_rich_text): really assign the buffer before
diff --git a/plugins/excel/ms-excel-read.c b/plugins/excel/ms-excel-read.c
index 7ceecdc..8c4f770 100644
--- a/plugins/excel/ms-excel-read.c
+++ b/plugins/excel/ms-excel-read.c
@@ -4209,6 +4209,11 @@ excel_read_SELECTION (BiffQuery *q, ExcelReadSheet *esheet)
 			r.end.col, r.end.row);
 	}
 
+	if (sv->selections == NULL) {
+		sv_selection_add_pos (sv, 0, 0);
+		d (5, g_printerr ("No selection\n"););
+	}
+
 	d (5, g_printerr ("Done selection\n"););
 }
 



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