Switched off some buggy optimisation that caused caret positioning/drawn text mismatch.

Fixed defragmentation.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55653 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Julian Smart
2008-09-16 10:58:32 +00:00
parent bec7026270
commit 5cb0b827f1
2 changed files with 6 additions and 2 deletions

View File

@@ -80,7 +80,9 @@
#define wxRICHTEXT_USE_OWN_CARET 0
// Switch off for binary compatibility, on for faster drawing
#define wxRICHTEXT_USE_OPTIMIZED_LINE_DRAWING 1
// Note: this seems to be buggy (overzealous use of extents) so
// don't use for now
#define wxRICHTEXT_USE_OPTIMIZED_LINE_DRAWING 0
/*!
* Special characters

View File

@@ -57,6 +57,7 @@ const wxChar wxRichTextLineBreakChar = (wxChar) 29;
inline void wxCheckSetFont(wxDC& dc, const wxFont& font)
{
#if 0
const wxFont& font1 = dc.GetFont();
if (font1.IsOk() && font.IsOk())
{
@@ -68,6 +69,7 @@ inline void wxCheckSetFont(wxDC& dc, const wxFont& font)
font1.GetFaceName() == font.GetFaceName())
return;
}
#endif
dc.SetFont(font);
}
@@ -431,7 +433,7 @@ bool wxRichTextCompositeObject::Defragment(const wxRichTextRange& range)
while (node)
{
wxRichTextObject* child = node->GetData();
if (!child->GetRange().IsOutside(range))
if (range == wxRICHTEXT_ALL || !child->GetRange().IsOutside(range))
{
wxRichTextCompositeObject* composite = wxDynamicCast(child, wxRichTextCompositeObject);
if (composite)