diff options
Diffstat (limited to 'sc/source/filter')
-rw-r--r-- | sc/source/filter/excel/xipivot.cxx | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/sc/source/filter/excel/xipivot.cxx b/sc/source/filter/excel/xipivot.cxx index e63db6cdb1ab..669d6262cc2d 100644 --- a/sc/source/filter/excel/xipivot.cxx +++ b/sc/source/filter/excel/xipivot.cxx @@ -1566,13 +1566,13 @@ void XclImpPivotTable::ApplyMergeFlags(const ScRange& rOutRange, const ScDPSaveD itr = aFieldBtns.begin(); itrEnd = aFieldBtns.end(); vector<const ScDPSaveDimension*>::const_iterator itDim = aFieldDims.begin(); - for (; itr != itrEnd; ++itr, ++itDim) + for (; itr != itrEnd; ++itr) { ScMF nMFlag = ScMF::Button; - const ScDPSaveDimension* pDim = *itDim; - if (pDim->HasInvisibleMember()) + const ScDPSaveDimension* pDim = itDim != aFieldDims.end() ? *itDim++ : nullptr; + if (pDim && pDim->HasInvisibleMember()) nMFlag |= ScMF::HiddenMember; - if (!pDim->IsDataLayout()) + if (!pDim || !pDim->IsDataLayout()) nMFlag |= ScMF::ButtonPopup; rDoc.ApplyFlagsTab(itr->Col(), itr->Row(), itr->Col(), itr->Row(), itr->Tab(), nMFlag); } |