Blob Blame History Raw
From 02e893c6332a2cdede23ca3cb0ed7fd0a6f9b120 Mon Sep 17 00:00:00 2001
Message-Id: <02e893c6332a2cdede23ca3cb0ed7fd0a6f9b120.1442846395.git.erack@redhat.com>
From: Eike Rathke <erack@redhat.com>
Date: Mon, 21 Sep 2015 15:26:50 +0200
Subject: [PATCH] Resolves: rhbz#1264585 check data pilot field name
 availability
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="------------erAck-patch-parts"

This is a multi-part message in MIME format.
--------------erAck-patch-parts
Content-Type: text/plain; charset=UTF-8; format=fixed
Content-Transfer-Encoding: 8bit


Change-Id: Iaadf7044acb7299ee878de2fbc08992447587d62
(cherry picked from commit f09a91630c767370871389c28b81280807513431)
---
 sc/source/filter/excel/xipivot.cxx | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)


--------------erAck-patch-parts
Content-Type: text/x-patch; name="0001-Resolves-rhbz-1264585-check-data-pilot-field-name-av.patch"
Content-Transfer-Encoding: 8bit
Content-Disposition: attachment; filename="0001-Resolves-rhbz-1264585-check-data-pilot-field-name-av.patch"

diff --git a/sc/source/filter/excel/xipivot.cxx b/sc/source/filter/excel/xipivot.cxx
index ad2ae65..5a79a02 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 );
     }
 }

--------------erAck-patch-parts--