Fixed a segmentation fault in some edge cases
This commit is contained in:
committed by
Caolán McNamara
parent
bb494d6bd8
commit
acecfab9dd
@@ -915,6 +915,7 @@ void wwSectionManager::CreateSep(const long nTxtPos, bool /*bMustHaveBreak*/)
|
||||
aNewSection.maSep.fEvenlySpaced =
|
||||
ReadBSprm(pSep, (eVer <= ww::eWW7 ? 138 : 0x3005), 1) ? true : false;
|
||||
|
||||
const sal_uInt8 numrgda = SAL_N_ELEMENTS(aNewSection.maSep.rgdxaColumnWidthSpacing);
|
||||
if (aNewSection.maSep.ccolM1 > 0 && !aNewSection.maSep.fEvenlySpaced)
|
||||
{
|
||||
aNewSection.maSep.rgdxaColumnWidthSpacing[0] = 0;
|
||||
@@ -928,7 +929,8 @@ void wwSectionManager::CreateSep(const long nTxtPos, bool /*bMustHaveBreak*/)
|
||||
OSL_ENSURE( pSW, "+Sprm 136 (bzw. 0xF203) (ColWidth) fehlt" );
|
||||
sal_uInt16 nWidth = pSW ? SVBT16ToShort(pSW + 1) : 1440;
|
||||
|
||||
aNewSection.maSep.rgdxaColumnWidthSpacing[++nIdx] = nWidth;
|
||||
if (++nIdx < numrgda)
|
||||
aNewSection.maSep.rgdxaColumnWidthSpacing[nIdx] = nWidth;
|
||||
|
||||
if (i < nCols-1)
|
||||
{
|
||||
@@ -939,7 +941,8 @@ void wwSectionManager::CreateSep(const long nTxtPos, bool /*bMustHaveBreak*/)
|
||||
if( pSD )
|
||||
{
|
||||
nWidth = SVBT16ToShort(pSD + 1);
|
||||
aNewSection.maSep.rgdxaColumnWidthSpacing[++nIdx] = nWidth;
|
||||
if (++nIdx < numrgda)
|
||||
aNewSection.maSep.rgdxaColumnWidthSpacing[nIdx] = nWidth;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user