summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEike Rathke <erack@redhat.com>2015-09-21 15:26:50 +0200
committerEike Rathke <erack@redhat.com>2015-09-21 15:38:20 +0200
commitf09a91630c767370871389c28b81280807513431 (patch)
treebce099898b46583f6ac03a43a16c6e2bce89ecd1
parent41139b2261fb93886a8ba28d081b2d12a2f7835a (diff)
Resolves: rhbz#1264585 check data pilot field name availability
Change-Id: Iaadf7044acb7299ee878de2fbc08992447587d62
-rw-r--r--sc/source/filter/excel/xipivot.cxx12
1 files changed, 9 insertions, 3 deletions
diff --git a/sc/source/filter/excel/xipivot.cxx b/sc/source/filter/excel/xipivot.cxx
index aa8c7de34ca1..224c4d04b85b 100644
--- a/sc/source/filter/excel/xipivot.cxx
+++ b/sc/source/filter/excel/xipivot.cxx
@@ -1031,13 +1031,19 @@ void XclImpPTField::ConvertDataField( ScDPSaveData& rSaveData ) const
XclPTDataFieldInfoList::const_iterator aIt = maDataInfoList.begin(), aEnd = maDataInfoList.end();
- ScDPSaveDimension& rSaveDim = *rSaveData.GetNewDimensionByName(aFieldName);
- ConvertDataField( rSaveDim, *aIt );
+ ScDPSaveDimension* pSaveDim = rSaveData.GetNewDimensionByName(aFieldName);
+ if (!pSaveDim)
+ {
+ SAL_WARN("sc.filter","XclImpPTField::ConvertDataField - field name not found: " << aFieldName);
+ return;
+ }
+
+ ConvertDataField( *pSaveDim, *aIt );
// multiple data fields -> clone dimension
for( ++aIt; aIt != aEnd; ++aIt )
{
- ScDPSaveDimension& rDupDim = rSaveData.DuplicateDimension( rSaveDim );
+ ScDPSaveDimension& rDupDim = rSaveData.DuplicateDimension( *pSaveDim );
ConvertDataFieldInfo( rDupDim, *aIt );
}
}