Dylan Smith : richedit: Use ITextHost interface in ME_LinkNotify.

Alexandre Julliard julliard at winehq.org
Mon Sep 28 11:54:39 CDT 2009


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

Author: Dylan Smith <dylan.ah.smith at gmail.com>
Date:   Mon Sep 28 03:44:19 2009 -0400

richedit: Use ITextHost interface in ME_LinkNotify.

Using the ITextHost interface allows this notification to be received
for windowless richedit controls.  Windowed richedit conrols have an
ITextHost implementation that will fill in hwndFrom and idFrom, but
these should probably be initialized to 0 for windowless richedit
controls.

---

 dlls/riched20/caret.c  |    2 ++
 dlls/riched20/editor.c |    6 +++---
 dlls/riched20/wrap.c   |    2 ++
 3 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/dlls/riched20/caret.c b/dlls/riched20/caret.c
index fdcb924..500b6c7 100644
--- a/dlls/riched20/caret.c
+++ b/dlls/riched20/caret.c
@@ -1537,6 +1537,8 @@ void ME_SendSelChange(ME_TextEditor *editor)
   if (!(editor->nEventMask & ENM_SELCHANGE))
     return;
 
+  sc.nmhdr.hwndFrom = NULL;
+  sc.nmhdr.idFrom = 0;
   sc.nmhdr.code = EN_SELCHANGE;
   ME_GetSelectionOfs(editor, &sc.chrg.cpMin, &sc.chrg.cpMax);
   sc.seltyp = SEL_EMPTY;
diff --git a/dlls/riched20/editor.c b/dlls/riched20/editor.c
index 09e3de6..97e55ba 100644
--- a/dlls/riched20/editor.c
+++ b/dlls/riched20/editor.c
@@ -2941,8 +2941,8 @@ static void ME_LinkNotify(ME_TextEditor *editor, UINT msg, WPARAM wParam, LPARAM
   if (cursor.pRun->member.run.style->fmt.dwMask & CFM_LINK &&
       cursor.pRun->member.run.style->fmt.dwEffects & CFE_LINK)
   { /* The clicked run has CFE_LINK set */
-    info.nmhdr.hwndFrom = editor->hWnd;
-    info.nmhdr.idFrom = GetWindowLongW(editor->hWnd, GWLP_ID);
+    info.nmhdr.hwndFrom = NULL;
+    info.nmhdr.idFrom = 0;
     info.nmhdr.code = EN_LINK;
     info.msg = msg;
     info.wParam = wParam;
@@ -2950,7 +2950,7 @@ static void ME_LinkNotify(ME_TextEditor *editor, UINT msg, WPARAM wParam, LPARAM
     cursor.nOffset = 0;
     info.chrg.cpMin = ME_GetCursorOfs(&cursor);
     info.chrg.cpMax = info.chrg.cpMin + cursor.pRun->member.run.strText->nLen;
-    SendMessageW(GetParent(editor->hWnd), WM_NOTIFY,info.nmhdr.idFrom, (LPARAM)&info);
+    ITextHost_TxNotify(editor->texthost, info.nmhdr.code, &info);
   }
 }
 
diff --git a/dlls/riched20/wrap.c b/dlls/riched20/wrap.c
index 579f33a..00229b2 100644
--- a/dlls/riched20/wrap.c
+++ b/dlls/riched20/wrap.c
@@ -776,6 +776,8 @@ ME_SendRequestResize(ME_TextEditor *editor, BOOL force)
     {
       REQRESIZE info;
 
+      info.nmhdr.hwndFrom = NULL;
+      info.nmhdr.idFrom = 0;
       info.nmhdr.code = EN_REQUESTRESIZE;
       info.rc = rc;
       info.rc.right = editor->nTotalWidth;




More information about the wine-cvs mailing list