Dylan Smith : richedit: Avoid rewrapping all text for isolated format changes.
Alexandre Julliard
julliard at winehq.org
Tue Jan 6 08:23:12 CST 2009
Module: wine
Branch: master
Commit: 28645c64d54f74283d13e4ea05b549d74029ee23
URL: http://source.winehq.org/git/wine.git/?a=commit;h=28645c64d54f74283d13e4ea05b549d74029ee23
Author: Dylan Smith <dylan.ah.smith at gmail.com>
Date: Mon Jan 5 13:14:41 2009 -0500
richedit: Avoid rewrapping all text for isolated format changes.
When the character or paragraph format is changed the paragraph that
is changed is already marked to be rewrapped, so ME_MarkAllForWrapping
shouldn't be called. Since ME_RewrapRepaint uses this function, it
shouldn't be called in these circumstances, since rewrapping all the
text can cause noticable delays when working with a lot of text.
---
dlls/riched20/editor.c | 10 ++++++++--
1 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/dlls/riched20/editor.c b/dlls/riched20/editor.c
index c7b8f40..107dcea 100644
--- a/dlls/riched20/editor.c
+++ b/dlls/riched20/editor.c
@@ -3263,7 +3263,11 @@ LRESULT ME_HandleMessage(ME_TextEditor *editor, UINT msg, WPARAM wParam,
}
ME_CommitUndo(editor);
if (bRepaint)
- ME_RewrapRepaint(editor);
+ {
+ ME_WrapMarkedParagraphs(editor);
+ ME_UpdateScrollBar(editor);
+ ME_Repaint(editor);
+ }
return 1;
}
case EM_GETCHARFORMAT:
@@ -3285,7 +3289,9 @@ LRESULT ME_HandleMessage(ME_TextEditor *editor, UINT msg, WPARAM wParam,
case EM_SETPARAFORMAT:
{
BOOL result = ME_SetSelectionParaFormat(editor, (PARAFORMAT2 *)lParam);
- ME_RewrapRepaint(editor);
+ ME_WrapMarkedParagraphs(editor);
+ ME_UpdateScrollBar(editor);
+ ME_Repaint(editor);
ME_CommitUndo(editor);
return result;
}
More information about the wine-cvs
mailing list