summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarkus Mohrhard <markus.mohrhard@collabora.co.uk>2014-06-07 03:43:47 +0200
committerMarkus Mohrhard <markus.mohrhard@collabora.co.uk>2014-06-07 04:48:16 +0200
commit127b11cbf944d51640c45801693b93ab3b18b14b (patch)
tree22a5f1118caec56411d150f8b98e4c5d818dde55
parentaf8ebb607c5c4a37d549cf8a49be02fe7830c55a (diff)
make sure all objects exist, related fdo#75692
fdo75692-2.xlsx and fdo#75692-3.xlsx crash. Change-Id: I56353e7da1850a49e18d3a570641843600d34b1c
-rw-r--r--oox/source/drawingml/shape.cxx3
1 files changed, 2 insertions, 1 deletions
diff --git a/oox/source/drawingml/shape.cxx b/oox/source/drawingml/shape.cxx
index 8c97b8781473..0737830ece35 100644
--- a/oox/source/drawingml/shape.cxx
+++ b/oox/source/drawingml/shape.cxx
@@ -1249,7 +1249,8 @@ void Shape::finalizeXShape( XmlFilterBase& rFilter, const Reference< XShapes >&
{
Reference< chart2::data::XDataReceiver > xDataRec( xChartDoc, UNO_QUERY );
Reference< chart2::data::XDataSource > xData( xDataRec->getUsedData(), UNO_QUERY );
- if( xData->getDataSequences().getLength() <= 0 || xData->getDataSequences()[0]->getValues()->getData().getLength() <= 0 )
+ if( xData->getDataSequences().getLength() <= 0 || !xData->getDataSequences()[0]->getValues().is() ||
+ xData->getDataSequences()[0]->getValues()->getData().getLength() <= 0 )
{
rFilter.useInternalChartDataTable( true );
rFilter.getChartConverter()->convertFromModel( rFilter, aModel, xChartDoc, xExternalPage, mxShape->getPosition(), mxShape->getSize() );