oox/source/export/chartexport.cxx | 63 +++++++++++++++++++++--------------- sc/source/filter/excel/xestream.cxx | 2 - 2 files changed, 38 insertions(+), 27 deletions(-)
New commits: commit b57bad8422c0efee8a42660806765f36746bb2fe Author: Markus Mohrhard <markus.mohrh...@collabora.co.uk> Date: Tue Feb 18 02:23:59 2014 +0100 the string is UTF8 and not Ascii Change-Id: Ibf9a837ca5689ceae91eff2a081da3b7fe0b9244 diff --git a/sc/source/filter/excel/xestream.cxx b/sc/source/filter/excel/xestream.cxx index 77c6295..30d774f 100644 --- a/sc/source/filter/excel/xestream.cxx +++ b/sc/source/filter/excel/xestream.cxx @@ -1016,7 +1016,7 @@ sax_fastparser::FSHelperPtr& XclExpXmlStream::WriteAttributesInternal( sal_Int32 rStream->write( " " ) ->writeId( nAttribute ) ->write( "=\"" ) - ->writeEscaped( pValue ) + ->writeEscaped( OUString(pValue, std::strlen(pValue), RTL_TEXTENCODING_UTF8) ) ->write( "\"" ); } commit 53146f93ad0697a7af8b312bfbe424c1066207a1 Author: Markus Mohrhard <markus.mohrh...@collabora.co.uk> Date: Tue Feb 18 02:22:07 2014 +0100 prevent invalid OOXML files with trendlines, related #i88825# Change-Id: I503b24233060400cf4bbb40701bec0a3e101512a diff --git a/oox/source/export/chartexport.cxx b/oox/source/export/chartexport.cxx index b427868..7fea8e3 100644 --- a/oox/source/export/chartexport.cxx +++ b/oox/source/export/chartexport.cxx @@ -2801,6 +2801,21 @@ void ChartExport::exportTrendlines( Reference< chart2::XDataSeries > xSeries ) Reference< XPropertySet > xProperties( xRegCurve , uno::UNO_QUERY ); + OUString aService; + Reference< lang::XServiceName > xServiceName( xProperties, UNO_QUERY ); + if( !xServiceName.is() ) + continue; + + aService = xServiceName->getServiceName(); + + if(aService != "com.sun.star.chart2.LinearRegressionCurve" && + aService != "com.sun.star.chart2.ExponentialRegressionCurve" && + aService != "com.sun.star.chart2.LogarithmicRegressionCurve" && + aService != "com.sun.star.chart2.PotentialRegressionCurve" && + aService != "com.sun.star.chart2.PolynomialRegressionCurve" && + aService != "com.sun.star.chart2.MovingAverageRegressionCurve") + continue; + pFS->startElement( FSNS( XML_c, XML_trendline ), FSEND ); OUString aName; @@ -2814,12 +2829,6 @@ void ChartExport::exportTrendlines( Reference< chart2::XDataSeries > xSeries ) exportShapeProps( xProperties ); - OUString aService; - Reference< lang::XServiceName > xServiceName( xProperties, UNO_QUERY ); - if( !xServiceName.is() ) - continue; - aService = xServiceName->getServiceName(); - if( aService == "com.sun.star.chart2.LinearRegressionCurve" ) { pFS->singleElement( FSNS( XML_c, XML_trendlineType ), @@ -2871,7 +2880,9 @@ void ChartExport::exportTrendlines( Reference< chart2::XDataSeries > xSeries ) } else { - continue; + // should never happen + // This would produce invalid OOXML files so we check earlier for the type + assert(false); } double aExtrapolateForward = 0.0; commit dd0c9e64835b825771d961b7a8f21f4d6c077fc7 Author: Markus Mohrhard <markus.mohrh...@collabora.co.uk> Date: Mon Feb 17 23:19:49 2014 +0100 fix indentation Change-Id: I36be2de793d3d32433530bf71632cb73a676bb9a diff --git a/oox/source/export/chartexport.cxx b/oox/source/export/chartexport.cxx index 337d510..b427868 100644 --- a/oox/source/export/chartexport.cxx +++ b/oox/source/export/chartexport.cxx @@ -1851,36 +1851,36 @@ void ChartExport::exportCandleStickSeries( { Reference< chart2::data::XDataSequence > xLabelSeq( xLabeledSeq->getLabel()); Reference< chart2::data::XDataSequence > xValueSeq( xLabeledSeq->getValues()); - { - FSHelperPtr pFS = GetFS(); - pFS->startElement( FSNS( XML_c, XML_ser ), + { + FSHelperPtr pFS = GetFS(); + pFS->startElement( FSNS( XML_c, XML_ser ), FSEND ); - // TODO: idx and order - // idx attribute should start from 1 and not from 0. - pFS->singleElement( FSNS( XML_c, XML_idx ), + // TODO: idx and order + // idx attribute should start from 1 and not from 0. + pFS->singleElement( FSNS( XML_c, XML_idx ), XML_val, I32S(idx+1), FSEND ); - pFS->singleElement( FSNS( XML_c, XML_order ), + pFS->singleElement( FSNS( XML_c, XML_order ), XML_val, I32S(idx+1), FSEND ); - // export label - if( xLabelSeq.is() ) - exportSeriesText( xLabelSeq ); + // export label + if( xLabelSeq.is() ) + exportSeriesText( xLabelSeq ); - // TODO:export shape properties + // TODO:export shape properties - // export categories - if( mxCategoriesValues.is() ) - exportSeriesCategory( mxCategoriesValues ); + // export categories + if( mxCategoriesValues.is() ) + exportSeriesCategory( mxCategoriesValues ); - // export values - if( xValueSeq.is() ) - exportSeriesValues( xValueSeq ); + // export values + if( xValueSeq.is() ) + exportSeriesValues( xValueSeq ); - pFS->endElement( FSNS( XML_c, XML_ser ) ); - } + pFS->endElement( FSNS( XML_c, XML_ser ) ); + } } } } _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits