From: Julian Smart Date: Sun, 30 Oct 2011 17:28:03 +0000 (+0000) Subject: Fixed problem with the size of paragraphs not needing layout not being taken into... X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/d3f6b1b575958dcd38c903082563a0ba60a0f5a9 Fixed problem with the size of paragraphs not needing layout not being taken into account when calculating overall box size. Should fix the problem with lines becoming insensitive to mouse clicks after adding a couple of shorter lines. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69595 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/src/richtext/richtextbuffer.cpp b/src/richtext/richtextbuffer.cpp index 17bcf87601..3e5344dddd 100644 --- a/src/richtext/richtextbuffer.cpp +++ b/src/richtext/richtextbuffer.cpp @@ -1914,6 +1914,20 @@ bool wxRichTextParagraphLayoutBox::Layout(wxDC& dc, const wxRect& rect, int styl // A way to force speedy rest-of-buffer layout (the 'else' below) bool forceQuickLayout = false; + // First get the size of the paragraphs we won't be laying out + wxRichTextObjectList::compatibility_iterator n = m_children.GetFirst(); + while (n && n != node) + { + wxRichTextParagraph* child = wxDynamicCast(n->GetData(), wxRichTextParagraph); + if (child) + { + maxWidth = wxMax(maxWidth, child->GetCachedSize().x); + maxMinWidth = wxMax(maxMinWidth, child->GetMinSize().x); + maxMaxWidth = wxMax(maxMaxWidth, child->GetMaxSize().x); + } + n = n->GetNext(); + } + while (node) { // Assume this box only contains paragraphs