diff options
author | Eike Rathke <erack@redhat.com> | 2015-09-21 15:26:50 +0200 |
---|---|---|
committer | Andras Timar <andras.timar@collabora.com> | 2015-10-02 14:58:30 +0200 |
commit | d8b2bac2c962e08684366e8422d52e3c46ba7712 (patch) | |
tree | 300858315158d229def45776dbb043f57599d974 /sc/source/filter | |
parent | 69caf9c8d2e9eb8a981bfef3c777b8d13a9c321c (diff) |
Resolves: rhbz#1264585 check data pilot field name availability
Change-Id: Iaadf7044acb7299ee878de2fbc08992447587d62
(cherry picked from commit f09a91630c767370871389c28b81280807513431)
Reviewed-on: https://gerrit.libreoffice.org/18752
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'sc/source/filter')
-rw-r--r-- | sc/source/filter/excel/xipivot.cxx | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/sc/source/filter/excel/xipivot.cxx b/sc/source/filter/excel/xipivot.cxx index 2b48bcb116b0..fbf5995c8fe1 100644 --- a/sc/source/filter/excel/xipivot.cxx +++ b/sc/source/filter/excel/xipivot.cxx @@ -1026,13 +1026,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 ); } } |