[gnumeric] fix sheet-object leak
- From: Andreas J. Guelzow <guelzow src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnumeric] fix sheet-object leak
- Date: Tue, 13 Apr 2010 00:54:53 +0000 (UTC)
commit 3b9e660fc8b6d7dcd3d8bb6bd3b9a3e4320dc631
Author: Andreas J. Guelzow <aguelzow pyrshep ca>
Date: Mon Apr 12 18:54:17 2010 -0600
fix sheet-object leak
2010-04-12 Andreas J. Guelzow <aguelzow pyrshep ca>
* openoffice-read.c: (od_draw_text_box_end): new
(opendoc_content_dtd): connect the above
plugins/openoffice/ChangeLog | 5 +++++
plugins/openoffice/openoffice-read.c | 11 ++++++++++-
2 files changed, 15 insertions(+), 1 deletions(-)
---
diff --git a/plugins/openoffice/ChangeLog b/plugins/openoffice/ChangeLog
index 4c3c32e..af00893 100644
--- a/plugins/openoffice/ChangeLog
+++ b/plugins/openoffice/ChangeLog
@@ -1,3 +1,8 @@
+2010-04-12 Andreas J. Guelzow <aguelzow pyrshep ca>
+
+ * openoffice-read.c: (od_draw_text_box_end): new
+ (opendoc_content_dtd): connect the above
+
2010-04-11 Andreas J. Guelzow <aguelzow pyrshep ca>
* openoffice-read.c: rename stock_series to list throughout
diff --git a/plugins/openoffice/openoffice-read.c b/plugins/openoffice/openoffice-read.c
index a100f44..59bddee 100644
--- a/plugins/openoffice/openoffice-read.c
+++ b/plugins/openoffice/openoffice-read.c
@@ -3363,6 +3363,15 @@ od_draw_text_box (GsfXMLIn *xin, xmlChar const **attrs)
}
static void
+od_draw_text_box_end (GsfXMLIn *xin, G_GNUC_UNUSED GsfXMLBlob *blob)
+{
+ OOParseState *state = (OOParseState *)xin->user_state;
+
+ g_object_unref (state->chart.so);
+ state->chart.so = NULL;
+}
+
+static void
od_draw_text_box_p_end (GsfXMLIn *xin, G_GNUC_UNUSED GsfXMLBlob *blob)
{
OOParseState *state = (OOParseState *)xin->user_state;
@@ -4402,7 +4411,7 @@ static GsfXMLInNode const opendoc_content_dtd [] =
GSF_XML_IN_NODE (DRAW_FRAME, DRAW_OBJECT, OO_NS_DRAW, "object", GSF_XML_NO_CONTENT, &od_draw_object, NULL),
GSF_XML_IN_NODE (DRAW_FRAME, DRAW_IMAGE, OO_NS_DRAW, "image", GSF_XML_NO_CONTENT, &od_draw_image, NULL),
GSF_XML_IN_NODE (DRAW_FRAME, SVG_DESC, OO_NS_SVG, "desc", GSF_XML_NO_CONTENT, NULL, NULL),
- GSF_XML_IN_NODE (DRAW_FRAME, DRAW_TEXT_BOX, OO_NS_DRAW, "text-box", GSF_XML_NO_CONTENT, &od_draw_text_box, NULL),
+ GSF_XML_IN_NODE (DRAW_FRAME, DRAW_TEXT_BOX, OO_NS_DRAW, "text-box", GSF_XML_NO_CONTENT, &od_draw_text_box, &od_draw_text_box_end),
GSF_XML_IN_NODE (DRAW_TEXT_BOX, DRAW_TEXT_BOX_TEXT, OO_NS_TEXT, "p", GSF_XML_CONTENT, NULL, &od_draw_text_box_p_end),
GSF_XML_IN_NODE (TABLE_CELL, CELL_ANNOTATION, OO_NS_OFFICE, "annotation", GSF_XML_NO_CONTENT, &odf_annotation_start, &odf_annotation_end),
GSF_XML_IN_NODE (CELL_ANNOTATION, CELL_ANNOTATION_TEXT, OO_NS_TEXT, "p", GSF_XML_CONTENT, NULL, &odf_annotation_content_end),
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]