diff --git a/dlls/riched20/editor.c b/dlls/riched20/editor.c index 7e90096..24a8438 100644 --- a/dlls/riched20/editor.c +++ b/dlls/riched20/editor.c @@ -1538,6 +1538,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 (GetCapture() == editor->hWnd) + return TRUE; if (nKey != VK_SHIFT && nKey != VK_CONTROL && nKey != VK_MENU) editor->nSelectionType = stPosition; @@ -3174,9 +3176,10 @@ static LRESULT RichEditWndProc_common(HWND hWnd, UINT msg, WPARAM wParam, SendMessageW(editor->hWnd, EM_UNDO, 0, 0); return 0; } - if (((unsigned)wstr)>=' ' - || (wstr=='\r' && (GetWindowLongW(hWnd, GWL_STYLE) & ES_MULTILINE)) - || wstr=='\t') { + if ((((unsigned)wstr)>=' ' + || (wstr=='\r' && (GetWindowLongW(hWnd, GWL_STYLE) & ES_MULTILINE)) + || wstr=='\t') + && GetCapture() != editor->hWnd) { /* FIXME maybe it would make sense to call EM_REPLACESEL instead ? */ /* WM_CHAR is restricted to nTextLimit */ int from, to;