Dylan Smith : richedit: Never wrap for single line controls.

Alexandre Julliard julliard at winehq.org
Tue Feb 24 10:21:28 CST 2009


Module: wine
Branch: master
Commit: 73e0c5ea8b6697b6c8955c7b73902099f267b841
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=73e0c5ea8b6697b6c8955c7b73902099f267b841

Author: Dylan Smith <dylan.ah.smith at gmail.com>
Date:   Tue Feb 24 02:56:18 2009 -0500

richedit: Never wrap for single line controls.

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(-)

diff --git a/dlls/riched20/editor.c b/dlls/riched20/editor.c
index 4bfc9c2..dc03d42 100644
--- a/dlls/riched20/editor.c
+++ b/dlls/riched20/editor.c
@@ -2636,7 +2636,6 @@ ME_TextEditor *ME_MakeEditor(ITextHost *texthost, BOOL bEmulateVersion10)
   ed->nLastSelStart = ed->nLastSelEnd = 0;
   ed->pLastSelStartPara = ed->pLastSelEndPara = ME_FindItemFwd(ed->pBuffer->pFirst, diParagraph);
   ed->nAvailWidth = 0; /* wrap to client area */
-  ed->bWordWrap = (props & TXTBIT_WORDWRAP) != 0;
   ed->bHideSelection = FALSE;
   ed->pfnWordBreak = NULL;
   ed->lpOleCallback = NULL;
@@ -2665,8 +2664,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))
@@ -4296,7 +4299,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;
@@ -4305,7 +4308,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-cvs mailing list