summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJustin Luth <justin_luth@sil.org>2021-01-15 20:32:43 +0300
committerXisco Fauli <xiscofauli@libreoffice.org>2021-01-21 11:21:23 +0100
commit41bf539dfdec3640c8a03af0594ce1ff3846feab (patch)
tree3bdac26725bbbc08b95874bdf62ff8ed3b690b9c
parentadde1cf598f860660239f976334dbe609df3cca2 (diff)
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_luth@sil.org> Reviewed-by: Michael Stahl <michael.stahl@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 <xiscofauli@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
-rw-r--r--sw/source/core/edit/autofmt.cxx11
1 files changed, 7 insertions, 4 deletions
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 );
}