summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2016-03-07 12:16:28 +0000
committerAndras Timar <andras.timar@collabora.com>2016-04-21 11:01:46 +0200
commitcb457975ad6bf0b65708ec5aac9d7dbd16823873 (patch)
tree316d57cf4ffbb52a67f830953863f4534a36c1d3
parenttdf#40863 only use polygons with area for WinClipRegions (diff)
downloadcore-cb457975ad6bf0b65708ec5aac9d7dbd16823873.tar.gz
core-cb457975ad6bf0b65708ec5aac9d7dbd16823873.zip
Resolves: tdf#96172 crashtesting: avoid crash in layout
sectfrm is riddled with workarounds for "half dead" section frames. This is yet another one. Change-Id: Ic03ad8971002d7dce308475f1497d1dda8045d15 Cherry-picked from 727ebae15e623660b9cc6f8db0e7558830bf920d Reviewed-on: https://gerrit.libreoffice.org/24155 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com> (cherry picked from commit 43685487f24bc2a1244922ebc04af467f0eabef6)
-rw-r--r--sw/source/core/layout/sectfrm.cxx6
1 files changed, 3 insertions, 3 deletions
diff --git a/sw/source/core/layout/sectfrm.cxx b/sw/source/core/layout/sectfrm.cxx
index 250d6e1a97f6..6a6e2a5c5ec1 100644
--- a/sw/source/core/layout/sectfrm.cxx
+++ b/sw/source/core/layout/sectfrm.cxx
@@ -1574,7 +1574,7 @@ SwLayoutFrm *SwFrm::GetNextSctLeaf( MakePageType eMakePage )
// We have found the suitable layout sheet. If there (in the sheet) is
// already a Follow of our section, we take its first layout sheet,
// otherwise it is time to create a section follow
- SwSectionFrm* pNew;
+ SwSectionFrm* pNew = nullptr;
// This can be omitted if existing Follows were cut short
SwFrm* pFirst = pLayLeaf->Lower();
@@ -1585,7 +1585,7 @@ SwLayoutFrm *SwFrm::GetNextSctLeaf( MakePageType eMakePage )
pNew = pSect->GetFollow();
else if( MAKEPAGE_NOSECTION == eMakePage )
return pLayLeaf;
- else
+ else if (pSect->GetSection())
{
pNew = new SwSectionFrm( *pSect, false );
pNew->InsertBefore( pLayLeaf, pLayLeaf->Lower() );
@@ -1640,7 +1640,7 @@ SwLayoutFrm *SwFrm::GetNextSctLeaf( MakePageType eMakePage )
pNew->SimpleFormat();
}
// The wanted layout sheet is now the first of the determined SctFrms:
- pLayLeaf = FIRSTLEAF( pNew );
+ pLayLeaf = pNew ? FIRSTLEAF( pNew ) : nullptr;
}
return pLayLeaf;
}