Avoid paragraphs with no children
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@51840 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -1468,15 +1468,7 @@ bool wxRichTextParagraphLayoutBox::DeleteRange(const wxRichTextRange& range)
|
|||||||
{
|
{
|
||||||
wxRichTextObject* obj1 = node1->GetData();
|
wxRichTextObject* obj1 = node1->GetData();
|
||||||
|
|
||||||
// If the object is empty, optimise it out
|
firstPara->AppendChild(obj1);
|
||||||
if (obj1->IsEmpty())
|
|
||||||
{
|
|
||||||
delete obj1;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
firstPara->AppendChild(obj1);
|
|
||||||
}
|
|
||||||
|
|
||||||
wxRichTextObjectList::compatibility_iterator next1 = node1->GetNext();
|
wxRichTextObjectList::compatibility_iterator next1 = node1->GetNext();
|
||||||
nextParagraph->GetChildren().Erase(node1);
|
nextParagraph->GetChildren().Erase(node1);
|
||||||
@@ -1488,6 +1480,13 @@ bool wxRichTextParagraphLayoutBox::DeleteRange(const wxRichTextRange& range)
|
|||||||
RemoveChild(nextParagraph, true);
|
RemoveChild(nextParagraph, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Avoid empty paragraphs
|
||||||
|
if (firstPara && firstPara->GetChildren().GetCount() == 0)
|
||||||
|
{
|
||||||
|
wxRichTextPlainText* text = new wxRichTextPlainText(wxEmptyString);
|
||||||
|
firstPara->AppendChild(text);
|
||||||
|
}
|
||||||
|
|
||||||
if (applyFinalParagraphStyle)
|
if (applyFinalParagraphStyle)
|
||||||
firstPara->SetAttributes(nextParaAttr);
|
firstPara->SetAttributes(nextParaAttr);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user