richedit: Never wrap for single line controls.
Dylan Smith
dylan.ah.smith at gmail.com
Tue Feb 24 01:37:28 CST 2009
I tested without the ES_MULTILINE style, and found that wrapping doesn't
occur where it normally would.
---
dlls/riched20/editor.c | 12 ++++++++----
1 files changed, 8 insertions(+), 4 deletions(-)
-------------- next part --------------
diff --git a/dlls/riched20/editor.c b/dlls/riched20/editor.c
index 2a053d7..1e3e867 100644
--- a/dlls/riched20/editor.c
+++ b/dlls/riched20/editor.c
@@ -2635,7 +2635,6 @@ ME_TextEditor *ME_MakeEditor(ITextHost *texthost, BOOL bEmulateVersion10)
ed->nParagraphs = 1;
ed->nLastSelStart = ed->nLastSelEnd = 0;
ed->pLastSelStartPara = ed->pLastSelEndPara = ME_FindItemFwd(ed->pBuffer->pFirst, diParagraph);
- ed->bWordWrap = (props & TXTBIT_WORDWRAP) != 0;
ed->bHideSelection = FALSE;
ed->pfnWordBreak = NULL;
ed->lpOleCallback = NULL;
@@ -2664,8 +2663,12 @@ ME_TextEditor *ME_MakeEditor(ITextHost *texthost, BOOL bEmulateVersion10)
if (props & TXTBIT_AUTOWORDSEL)
ed->styleFlags |= ECO_AUTOWORDSELECTION;
- if (props & TXTBIT_MULTILINE)
+ if (props & TXTBIT_MULTILINE) {
ed->styleFlags |= ES_MULTILINE;
+ ed->bWordWrap = (props & TXTBIT_WORDWRAP) != 0;
+ } else {
+ ed->bWordWrap = FALSE;
+ }
if (props & TXTBIT_READONLY)
ed->styleFlags |= ES_READONLY;
if (!(props & TXTBIT_HIDESELECTION))
@@ -4287,7 +4290,7 @@ LRESULT ME_HandleMessage(ME_TextEditor *editor, UINT msg, WPARAM wParam,
case EM_SETTARGETDEVICE:
if (wParam == 0)
{
- BOOL new = (lParam == 0);
+ BOOL new = (lParam == 0 && (editor->styleFlags & ES_MULTILINE));
if (editor->nAvailWidth || editor->bWordWrap != new)
{
editor->bWordWrap = new;
@@ -4296,7 +4299,8 @@ LRESULT ME_HandleMessage(ME_TextEditor *editor, UINT msg, WPARAM wParam,
}
} else {
int width = max(0, lParam);
- if (!editor->bWordWrap || editor->nAvailWidth != width)
+ if ((editor->styleFlags & ES_MULTILINE) &&
+ (!editor->bWordWrap || editor->nAvailWidth != width))
{
editor->nAvailWidth = width;
editor->bWordWrap = TRUE;
More information about the wine-patches
mailing list