gnumeric r16733 - in branches/gnumeric-1-8: . src



Author: jbrefort
Date: Mon Aug 11 11:11:17 2008
New Revision: 16733
URL: http://svn.gnome.org/viewvc/gnumeric?rev=16733&view=rev

Log:
2008-08-11  Jean Brefort  <jean brefort normalesup org>

	* src/xml-sax-read.c: (xml_sax_colrow): accept any order for attributes
	for ColRowInfo. [#547183]



Modified:
   branches/gnumeric-1-8/ChangeLog
   branches/gnumeric-1-8/NEWS
   branches/gnumeric-1-8/src/xml-sax-read.c

Modified: branches/gnumeric-1-8/NEWS
==============================================================================
--- branches/gnumeric-1-8/NEWS	(original)
+++ branches/gnumeric-1-8/NEWS	Mon Aug 11 11:11:17 2008
@@ -2,6 +2,7 @@
 
 Jean:
 	* Import/export axis ticks labels orientation. [#544935]
+	* Fix an attribute order issue while loading. [#547183]
 
 Jody:
 	* Fix ODS import failure on win32. [#536552]

Modified: branches/gnumeric-1-8/src/xml-sax-read.c
==============================================================================
--- branches/gnumeric-1-8/src/xml-sax-read.c	(original)
+++ branches/gnumeric-1-8/src/xml-sax-read.c	Mon Aug 11 11:11:17 2008
@@ -1165,6 +1165,7 @@
 	ColRowInfo *cri = NULL;
 	double size = -1.;
 	int pos, val;
+	int hidden = 0, hard_size = 0, is_collapsed = 0, outline_level = 0;
 	int count = 1;
 	gboolean const is_col = xin->node->user_data.v_bool;
 
@@ -1180,18 +1181,12 @@
 				? sheet_col_fetch (state->sheet, pos)
 				: sheet_row_fetch (state->sheet, pos);
 		} else {
-			g_return_if_fail (cri != NULL);
-
 			if (gnm_xml_attr_double (attrs, "Unit", &size)) ;
 			else if (gnm_xml_attr_int (attrs, "Count", &count)) ;
-			else if (gnm_xml_attr_int (attrs, "HardSize", &val))
-				cri->hard_size = val;
-			else if (gnm_xml_attr_int (attrs, "Hidden", &val))
-				cri->visible = !val;
-			else if (gnm_xml_attr_int (attrs, "Collapsed", &val))
-				cri->is_collapsed = val;
-			else if (gnm_xml_attr_int (attrs, "OutlineLevel", &val))
-				cri->outline_level = val;
+			else if (gnm_xml_attr_int (attrs, "HardSize", &hard_size)) ;
+			else if (gnm_xml_attr_int (attrs, "Hidden", &hidden)) ;
+			else if (gnm_xml_attr_int (attrs, "Collapsed", &is_collapsed)) ;
+			else if (gnm_xml_attr_int (attrs, "OutlineLevel", &outline_level)) ;
 			else if (gnm_xml_attr_int (attrs, "MarginA", &val))
 				; /* deprecated in 1.7.1 */
 			else if (gnm_xml_attr_int (attrs, "MarginB", &val))
@@ -1202,6 +1197,10 @@
 	}
 
 	g_return_if_fail (cri != NULL && size > -1.);
+	cri->hard_size = hard_size;
+	cri->visible = !hidden;
+	cri->is_collapsed = is_collapsed;
+	cri->outline_level = outline_level;
 
 	if (is_col) {
 		sheet_col_set_size_pts (state->sheet, pos, size, cri->hard_size);



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