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:
Julian Smart
2008-02-16 13:36:03 +00:00
parent 9dda10ae72
commit fa01bfddc6

View File

@@ -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);