Kaydet (Commit) 7fbdd8b7 authored tarafından Eike Rathke's avatar Eike Rathke

more counts<SC_DPOUT_MAXLEVELS to check, tdf#105858 related

Also for row, column and page field arrays.

Change-Id: I1dccdf139af778a2c0dc550be0b573c984256a2d
üst 9bdf971b
......@@ -618,53 +618,74 @@ ScDPOutput::ScDPOutput( ScDocument* pD, const uno::Reference<sheet::XDimensionsS
switch ( eDimOrient )
{
case sheet::DataPilotFieldOrientation_COLUMN:
pColFields[nColFieldCount].nDim = nDim;
pColFields[nColFieldCount].nHier = nHierarchy;
pColFields[nColFieldCount].nLevel = nLev;
pColFields[nColFieldCount].nDimPos = nDimPos;
pColFields[nColFieldCount].aResult = xLevRes->getResults();
pColFields[nColFieldCount].mnSrcNumFmt = nNumFmt;
pColFields[nColFieldCount].maName = aName;
pColFields[nColFieldCount].maCaption= aCaption;
pColFields[nColFieldCount].mfValue = fValue;
pColFields[nColFieldCount].mbHasHiddenMember = bHasHiddenMember;
pColFields[nColFieldCount].mbDataLayout = bIsDataLayout;
if (!lcl_MemberEmpty(pColFields[nColFieldCount].aResult))
++nColFieldCount;
break;
if (nColFieldCount < SC_DPOUT_MAXLEVELS)
{
pColFields[nColFieldCount].nDim = nDim;
pColFields[nColFieldCount].nHier = nHierarchy;
pColFields[nColFieldCount].nLevel = nLev;
pColFields[nColFieldCount].nDimPos = nDimPos;
pColFields[nColFieldCount].aResult = xLevRes->getResults();
pColFields[nColFieldCount].mnSrcNumFmt = nNumFmt;
pColFields[nColFieldCount].maName = aName;
pColFields[nColFieldCount].maCaption= aCaption;
pColFields[nColFieldCount].mfValue = fValue;
pColFields[nColFieldCount].mbHasHiddenMember = bHasHiddenMember;
pColFields[nColFieldCount].mbDataLayout = bIsDataLayout;
if (!lcl_MemberEmpty(pColFields[nColFieldCount].aResult))
++nColFieldCount;
}
else
{
SAL_WARN("sc.core","ScDPOutput - nColFieldCount already at SC_DPOUT_MAXLEVELS=" << SC_DPOUT_MAXLEVELS);
}
break;
case sheet::DataPilotFieldOrientation_ROW:
pRowFields[nRowFieldCount].nDim = nDim;
pRowFields[nRowFieldCount].nHier = nHierarchy;
pRowFields[nRowFieldCount].nLevel = nLev;
pRowFields[nRowFieldCount].nDimPos = nDimPos;
pRowFields[nRowFieldCount].aResult = xLevRes->getResults();
pRowFields[nRowFieldCount].mnSrcNumFmt = nNumFmt;
pRowFields[nRowFieldCount].maName = aName;
pRowFields[nRowFieldCount].maCaption= aCaption;
pRowFields[nRowFieldCount].mfValue = fValue;
pRowFields[nRowFieldCount].mbHasHiddenMember = bHasHiddenMember;
pRowFields[nRowFieldCount].mbDataLayout = bIsDataLayout;
if (!lcl_MemberEmpty(pRowFields[nRowFieldCount].aResult))
if (nRowFieldCount < SC_DPOUT_MAXLEVELS)
{
pRowFields[nRowFieldCount].nDim = nDim;
pRowFields[nRowFieldCount].nHier = nHierarchy;
pRowFields[nRowFieldCount].nLevel = nLev;
pRowFields[nRowFieldCount].nDimPos = nDimPos;
pRowFields[nRowFieldCount].aResult = xLevRes->getResults();
pRowFields[nRowFieldCount].mnSrcNumFmt = nNumFmt;
pRowFields[nRowFieldCount].maName = aName;
pRowFields[nRowFieldCount].maCaption= aCaption;
pRowFields[nRowFieldCount].mfValue = fValue;
pRowFields[nRowFieldCount].mbHasHiddenMember = bHasHiddenMember;
pRowFields[nRowFieldCount].mbDataLayout = bIsDataLayout;
if (!lcl_MemberEmpty(pRowFields[nRowFieldCount].aResult))
{
++nRowFieldCount;
bRowFieldHasMember = true;
}
}
else
{
++nRowFieldCount;
bRowFieldHasMember = true;
SAL_WARN("sc.core","ScDPOutput - nRowFieldCount already at SC_DPOUT_MAXLEVELS=" << SC_DPOUT_MAXLEVELS);
}
break;
break;
case sheet::DataPilotFieldOrientation_PAGE:
pPageFields[nPageFieldCount].nDim = nDim;
pPageFields[nPageFieldCount].nHier = nHierarchy;
pPageFields[nPageFieldCount].nLevel = nLev;
pPageFields[nPageFieldCount].nDimPos = nDimPos;
pPageFields[nPageFieldCount].aResult = getVisiblePageMembersAsResults(xLevel);
pPageFields[nPageFieldCount].mnSrcNumFmt = nNumFmt;
pPageFields[nPageFieldCount].maName = aName;
pPageFields[nPageFieldCount].maCaption= aCaption;
pPageFields[nPageFieldCount].mfValue = fValue;
pPageFields[nPageFieldCount].mbHasHiddenMember = bHasHiddenMember;
pPageFields[nPageFieldCount].mbPageDim = true;
// no check on results for page fields
++nPageFieldCount;
break;
if (nPageFieldCount < SC_DPOUT_MAXLEVELS)
{
pPageFields[nPageFieldCount].nDim = nDim;
pPageFields[nPageFieldCount].nHier = nHierarchy;
pPageFields[nPageFieldCount].nLevel = nLev;
pPageFields[nPageFieldCount].nDimPos = nDimPos;
pPageFields[nPageFieldCount].aResult = getVisiblePageMembersAsResults(xLevel);
pPageFields[nPageFieldCount].mnSrcNumFmt = nNumFmt;
pPageFields[nPageFieldCount].maName = aName;
pPageFields[nPageFieldCount].maCaption= aCaption;
pPageFields[nPageFieldCount].mfValue = fValue;
pPageFields[nPageFieldCount].mbHasHiddenMember = bHasHiddenMember;
pPageFields[nPageFieldCount].mbPageDim = true;
// no check on results for page fields
++nPageFieldCount;
}
else
{
SAL_WARN("sc.core","ScDPOutput - nPageFieldCount already at SC_DPOUT_MAXLEVELS=" << SC_DPOUT_MAXLEVELS);
}
break;
default:
{
// added to avoid warnings
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment