[Libreoffice-commits] core.git: 3 commits - oox/source sc/source
Markus Mohrhard
markus.mohrhard at collabora.co.uk
Tue Feb 18 02:26:25 CET 2014
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.mohrhard at 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.mohrhard at 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.mohrhard at 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 ) );
+ }
}
}
}
More information about the Libreoffice-commits
mailing list