gnumeric r17224 - in trunk: . plugins/openoffice



Author: mortenw
Date: Thu Mar 19 17:30:50 2009
New Revision: 17224
URL: http://svn.gnome.org/viewvc/gnumeric?rev=17224&view=rev

Log:
2009-03-19  Morten Welinder  <terra gnome org>

	* configure.in (gnumeric_reqs): Require glib 2.12 for
	g_hash_table_remove_all.

2009-03-19  Morten Welinder  <terra gnome org>

	* openoffice-read.c (od_draw_object): Clear out cur_style_type
	and cur_graph_style as appropriate.  Fixes #575981.



Modified:
   trunk/ChangeLog
   trunk/NEWS
   trunk/configure.in
   trunk/plugins/openoffice/ChangeLog
   trunk/plugins/openoffice/openoffice-read.c

Modified: trunk/NEWS
==============================================================================
--- trunk/NEWS	(original)
+++ trunk/NEWS	Thu Mar 19 17:30:50 2009
@@ -40,7 +40,7 @@
 	* Fix string problem with broken xls.  [#575452]
 	* Improve date entry for locales that end abbreviated month names
 	with punctuation.
-	* Fix ODS crashes.  [#575600, 575843]
+	* Fix ODS crashes.  [#575600] [#575843] [#575981]
 
 Sum1:
 	* Implement OOO probing.  [#574381]

Modified: trunk/configure.in
==============================================================================
--- trunk/configure.in	(original)
+++ trunk/configure.in	Thu Mar 19 17:30:50 2009
@@ -146,7 +146,7 @@
 	libxml-2.0		>= 2.4.12
 "
 gnumeric_reqs="$libspreadsheet_reqs
-	glib-2.0		>= 2.10.0
+	glib-2.0		>= 2.12.0
 	gobject-2.0		>= 2.10.0
 	gmodule-2.0		>= 2.10.0
 	gthread-2.0		>= 2.10.0

Modified: trunk/plugins/openoffice/openoffice-read.c
==============================================================================
--- trunk/plugins/openoffice/openoffice-read.c	(original)
+++ trunk/plugins/openoffice/openoffice-read.c	Thu Mar 19 17:30:50 2009
@@ -1242,15 +1242,17 @@
 		break;
 
 	case OO_STYLE_CHART:
+		state->chart.plot_type = OO_PLOT_UNKNOWN;
 		if (name != NULL){
 			cur_style = g_new0(OOChartStyle, 1);
 			cur_style->axis_props = NULL;
 			cur_style->plot_props = NULL;
 			state->chart.cur_graph_style = cur_style;
-			state->chart.plot_type = OO_PLOT_UNKNOWN;
 			g_hash_table_replace (state->chart.graph_styles,
 					      g_strdup (name),
 					      state->chart.cur_graph_style);
+		} else {
+			state->chart.cur_graph_style = NULL;
 		}
 		break;
 	default:
@@ -2057,11 +2059,10 @@
 	g_print ("END %s\n", name);
 #endif
 
-	g_hash_table_destroy (state->chart.graph_styles);
-	state->chart.graph_styles = g_hash_table_new_full (
-		g_str_hash, g_str_equal,
-		(GDestroyNotify) g_free,
-		(GDestroyNotify) oo_chart_style_free);
+	if (state->cur_style_type == OO_STYLE_CHART)
+		state->cur_style_type = OO_STYLE_UNKNOWN;
+	state->chart.cur_graph_style = NULL;
+	g_hash_table_remove_all (state->chart.graph_styles);
 }
 
 static void



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