summaryrefslogtreecommitdiff
path: root/sc/source/core/data/fillinfo.cxx
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2016-04-09 20:39:48 +0100
committerAshod Nakashian <ashod.nakashian@collabora.co.uk>2016-06-20 22:02:55 -0400
commitb4f78d525d97315e7ceb2f4a247916c370cf0030 (patch)
tree1b9fb6011aa8098853f62b8191aac3e9c5108adb /sc/source/core/data/fillinfo.cxx
parent3521850fb44778aa644b4eb5511bbf0276bf51f4 (diff)
coverity#738785 reorg to silence Uninitialized pointer field
(cherry picked from commit 3ac0778c0a2b2f693a1029b7b05c1be4f71944a9) Change-Id: If2225e77215e2a6fb6b9e9dfc6021a2c20babe50 Reviewed-on: https://gerrit.libreoffice.org/25292 Reviewed-by: Ashod Nakashian <ashnakash@gmail.com> Tested-by: Ashod Nakashian <ashnakash@gmail.com> (cherry picked from commit 4475acb6e52652890e5470c4cd1f4e1aaa84fbb5)
Diffstat (limited to 'sc/source/core/data/fillinfo.cxx')
-rw-r--r--sc/source/core/data/fillinfo.cxx72
1 files changed, 22 insertions, 50 deletions
diff --git a/sc/source/core/data/fillinfo.cxx b/sc/source/core/data/fillinfo.cxx
index e9c7d4af0ae5..4fdcbf699821 100644
--- a/sc/source/core/data/fillinfo.cxx
+++ b/sc/source/core/data/fillinfo.cxx
@@ -157,11 +157,11 @@ class RowInfoFiller
{
alignArray(nRow);
- RowInfo* pThisRowInfo = &mpRowInfo[mnArrY];
- CellInfo* pInfo = &pThisRowInfo->pCellInfo[mnArrX];
- pInfo->maCell = rCell;
- pThisRowInfo->bEmptyText = false;
- pInfo->bEmptyCellText = false;
+ RowInfo& rThisRowInfo = mpRowInfo[mnArrY];
+ CellInfo& rInfo = rThisRowInfo.pCellInfo[mnArrX];
+ rInfo.maCell = rCell;
+ rThisRowInfo.bEmptyText = false;
+ rInfo.bEmptyCellText = false;
++mnArrY;
}
@@ -266,55 +266,27 @@ void initCellInfo(RowInfo* pRowInfo, SCSIZE nArrCount, SCCOL nRotMax, bool bPain
const SvxShadowItem* pDefShadow, SCROW nBlockStartY, SCROW nBlockEndY,
SCCOL nBlockStartX, SCCOL nBlockEndX)
{
- for (SCSIZE nArrRow = 0; nArrRow < nArrCount; nArrRow++)
+ for (SCSIZE nArrRow = 0; nArrRow < nArrCount; ++nArrRow)
{
- RowInfo* pThisRowInfo = &pRowInfo[nArrRow];
- SCROW nY = pThisRowInfo->nRowNo;
- pThisRowInfo->pCellInfo = new CellInfo[ nRotMax+1+2 ]; // to delete the caller!
+ RowInfo& rThisRowInfo = pRowInfo[nArrRow];
+ SCROW nY = rThisRowInfo.nRowNo;
+ rThisRowInfo.pCellInfo = new CellInfo[nRotMax + 1 + 2]; // to delete the caller!
- for (SCCOL nArrCol = 0; nArrCol <= nRotMax+2; nArrCol++) // Preassign cell info
+ for (SCCOL nArrCol = 0; nArrCol <= nRotMax+2; ++nArrCol) // Preassign cell info
{
- SCCOL nX;
- if (nArrCol>0)
- nX = nArrCol-1;
- else
- nX = MAXCOL+1; // invalid
-
- CellInfo* pInfo = &pThisRowInfo->pCellInfo[nArrCol];
- pInfo->bEmptyCellText = true;
- pInfo->maCell.clear();
+ CellInfo& rInfo = rThisRowInfo.pCellInfo[nArrCol];
if (bPaintMarks)
- pInfo->bMarked = ( nX >= nBlockStartX && nX <= nBlockEndX
- && nY >= nBlockStartY && nY <= nBlockEndY );
- else
- pInfo->bMarked = false;
- pInfo->nWidth = 0;
-
- pInfo->nClipMark = SC_CLIPMARK_NONE;
- pInfo->bMerged = false;
- pInfo->bHOverlapped = false;
- pInfo->bVOverlapped = false;
- pInfo->bAutoFilter = false;
- pInfo->bPivotButton = false;
- pInfo->bPivotPopupButton = false;
- pInfo->bFilterActive = false;
- pInfo->nRotateDir = SC_ROTDIR_NONE;
-
- pInfo->bPrinted = false; // view-internal
- pInfo->bHideGrid = false; // view-internal
- pInfo->bEditEngine = false; // view-internal
-
- pInfo->pBackground = nullptr; //TODO: omit?
- pInfo->pPatternAttr = nullptr;
- pInfo->pConditionSet= nullptr;
-
- pInfo->pLinesAttr = nullptr;
- pInfo->mpTLBRLine = nullptr;
- pInfo->mpBLTRLine = nullptr;
-
- pInfo->pShadowAttr = pDefShadow;
- pInfo->pHShadowOrigin = nullptr;
- pInfo->pVShadowOrigin = nullptr;
+ {
+ SCCOL nX;
+ if (nArrCol>0)
+ nX = nArrCol-1;
+ else
+ nX = MAXCOL+1; // invalid
+ rInfo.bMarked = (nX >= nBlockStartX && nX <= nBlockEndX &&
+ nY >= nBlockStartY && nY <= nBlockEndY);
+ }
+ rInfo.bEmptyCellText = true;
+ rInfo.pShadowAttr = pDefShadow;
}
}
}