[Libreoffice-commits] core.git: Branch 'libreoffice-5-0-6' - sw/source

Caolán McNamara caolanm at redhat.com
Tue Apr 26 23:02:39 UTC 2016


 sw/source/core/layout/sectfrm.cxx |    6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

New commits:
commit 4f3e79a0493bf297fe165e974f4f9f044f5c7ed3
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Mon Mar 7 12:16:28 2016 +0000

    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 at libreoffice.org>
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>
    Tested-by: Caolán McNamara <caolanm at redhat.com>
    (cherry picked from commit 43685487f24bc2a1244922ebc04af467f0eabef6)
    Reviewed-on: https://gerrit.libreoffice.org/24417
    Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice at googlemail.com>
    Reviewed-by: Markus Mohrhard <markus.mohrhard at googlemail.com>
    Tested-by: Markus Mohrhard <markus.mohrhard at googlemail.com>

diff --git a/sw/source/core/layout/sectfrm.cxx b/sw/source/core/layout/sectfrm.cxx
index bef77ba..60ff9ce 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;
 }


More information about the Libreoffice-commits mailing list