sw/source/core/edit/autofmt.cxx |   11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

New commits:
commit 41bf539dfdec3640c8a03af0594ce1ff3846feab
Author:     Justin Luth <justin_l...@sil.org>
AuthorDate: Fri Jan 15 20:32:43 2021 +0300
Commit:     Xisco Fauli <xiscofa...@libreoffice.org>
CommitDate: Thu Jan 21 11:21:23 2021 +0100

    tdf#136704 sw autofmt: prevent crash if no nextNode
    
    The second GetNextNode() was a nullptr
    that was being dereferenced.
    
    Now, when enter is pressed after some text followed by a colon,
    that line is made into a heading3, and the new blank line is
    properly using the text body paragraph style.
    
    Change-Id: If10dc85e490ac57fc150b3d541f5033dfd5293bb
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/109413
    Tested-by: Jenkins
    Reviewed-by: Justin Luth <justin_l...@sil.org>
    Reviewed-by: Michael Stahl <michael.st...@allotropia.de>
    (cherry picked from commit fea7b531a4c9e8326a644cccc26325b16585675a)
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/109519
    (cherry picked from commit 4ef34f805c5682594a76802fff98889bd6052c3c)
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/109583
    Reviewed-by: Xisco Fauli <xiscofa...@libreoffice.org>
    Reviewed-by: Caolán McNamara <caol...@redhat.com>
    Tested-by: Caolán McNamara <caol...@redhat.com>

diff --git a/sw/source/core/edit/autofmt.cxx b/sw/source/core/edit/autofmt.cxx
index bd0cfc1972fb..2a40b90d448f 100644
--- a/sw/source/core/edit/autofmt.cxx
+++ b/sw/source/core/edit/autofmt.cxx
@@ -1896,11 +1896,14 @@ void SwAutoFormat::BuildHeadLine( sal_uInt16 nLvl )
         JoinPrevPara();
 
         DeleteLeadingTrailingBlanks( true, false );
-        const SwTextFrame *const pNextFrame = GetNextNode(false);
-        (void)DeleteJoinCurNextPara(pNextFrame, true);
-
+        const SwTextFrame* pNextFrame = GetNextNode(false);
+        if (pNextFrame->GetNext())
+        {
+            (void)DeleteJoinCurNextPara(pNextFrame, true);
+            pNextFrame = GetNextNode(false);
+        }
         m_aDelPam.DeleteMark();
-        m_aDelPam.GetPoint()->nNode = 
*GetNextNode(false)->GetTextNodeForParaProps();
+        m_aDelPam.GetPoint()->nNode = *pNextFrame->GetTextNodeForParaProps();
         m_aDelPam.GetPoint()->nContent.Assign( m_aDelPam.GetContentNode(), 0 );
         m_pDoc->SetTextFormatColl( m_aDelPam, &rNxtColl );
     }
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to