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/+/109520
diff --git a/sw/source/core/edit/autofmt.cxx b/sw/source/core/edit/autofmt.cxx
index 7588104..5c3e22a 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 );
}