Dylan Smith : richedit: Typing is ignored while mouse is captured.

Alexandre Julliard julliard at winehq.org
Thu Jan 22 08:41:39 CST 2009


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

Author: Dylan Smith <dylan.ah.smith at gmail.com>
Date:   Wed Jan 21 10:10:04 2009 -0500

richedit: Typing is ignored while mouse is captured.

I noticed a while ago that on Windows XP richedit controls ignored
characters typed while the mouse is captured (e.g. from holding the left
or middle button down).  Arrow keys, delete, and backspace, copying,
cutting, pasting, and everything else handled on WM_CHAR and WM_KEYDOWN
messages are also ignored.

---

 dlls/riched20/editor.c |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)

diff --git a/dlls/riched20/editor.c b/dlls/riched20/editor.c
index 09f3fb3..33964d6 100644
--- a/dlls/riched20/editor.c
+++ b/dlls/riched20/editor.c
@@ -2155,6 +2155,8 @@ ME_KeyDown(ME_TextEditor *editor, WORD nKey)
   BOOL ctrl_is_down = GetKeyState(VK_CONTROL) & 0x8000;
   BOOL shift_is_down = GetKeyState(VK_SHIFT) & 0x8000;
 
+  if (editor->bMouseCaptured)
+      return FALSE;
   if (nKey != VK_SHIFT && nKey != VK_CONTROL && nKey != VK_MENU)
       editor->nSelectionType = stPosition;
 
@@ -2400,6 +2402,9 @@ static LRESULT ME_Char(ME_TextEditor *editor, WPARAM charCode,
 {
   WCHAR wstr;
 
+  if (editor->bMouseCaptured)
+    return 0;
+
   if (unicode)
       wstr = (WCHAR)charCode;
   else




More information about the wine-cvs mailing list