diff options
| author | Neil <nyamatongwe@gmail.com> | 2020-02-12 09:01:00 +1100 |
|---|---|---|
| committer | Neil <nyamatongwe@gmail.com> | 2020-02-12 09:01:00 +1100 |
| commit | 4217a53245325b0f8d925dc1ae98129133b39157 (patch) | |
| tree | 19644f4751c5d24796b9975c879c446abd584508 | |
| parent | 71368fa9876c672a66cadea6db89a2a6acb44dab (diff) | |
| download | scintilla-mirror-4217a53245325b0f8d925dc1ae98129133b39157.tar.gz | |
Backport: Bug [#2156]. Process IME messages that were broken by [983d35].
Move WM_INPUTLANGCHANGE[REQUEST] into IMEMessage.
Backport of changeset 7982:5205bdd9c737.
| -rw-r--r-- | win32/ScintillaWin.cxx | 26 |
1 files changed, 19 insertions, 7 deletions
diff --git a/win32/ScintillaWin.cxx b/win32/ScintillaWin.cxx index d543ca940..d2b0568d2 100644 --- a/win32/ScintillaWin.cxx +++ b/win32/ScintillaWin.cxx @@ -1570,6 +1570,12 @@ sptr_t ScintillaWin::FocusMessage(unsigned int iMessage, uptr_t wParam, sptr_t) sptr_t ScintillaWin::IMEMessage(unsigned int iMessage, uptr_t wParam, sptr_t lParam) { switch (iMessage) { + case WM_INPUTLANGCHANGE: + return ::DefWindowProc(MainHWND(), iMessage, wParam, lParam); + + case WM_INPUTLANGCHANGEREQUEST: + return ::DefWindowProc(MainHWND(), iMessage, wParam, lParam); + case WM_IME_KEYDOWN: { if (wParam == VK_HANJA) { ToggleHanja(); @@ -1584,7 +1590,7 @@ sptr_t ScintillaWin::IMEMessage(unsigned int iMessage, uptr_t wParam, sptr_t lPa return ::DefWindowProc(MainHWND(), iMessage, wParam, lParam); } - case WM_IME_STARTCOMPOSITION: // dbcs + case WM_IME_STARTCOMPOSITION: if (KoreanIME() || imeInteraction == imeInline) { return 0; } else { @@ -1592,7 +1598,7 @@ sptr_t ScintillaWin::IMEMessage(unsigned int iMessage, uptr_t wParam, sptr_t lPa return ::DefWindowProc(MainHWND(), iMessage, wParam, lParam); } - case WM_IME_ENDCOMPOSITION: // dbcs + case WM_IME_ENDCOMPOSITION: ImeEndComposition(); return ::DefWindowProc(MainHWND(), iMessage, wParam, lParam); @@ -1882,11 +1888,6 @@ sptr_t ScintillaWin::WndProc(unsigned int iMessage, uptr_t wParam, sptr_t lParam case WM_CONTEXTMENU: return ShowContextMenu(iMessage, wParam, lParam); - case WM_INPUTLANGCHANGE: - return ::DefWindowProc(MainHWND(), iMessage, wParam, lParam); - case WM_INPUTLANGCHANGEREQUEST: - return ::DefWindowProc(MainHWND(), iMessage, wParam, lParam); - case WM_ERASEBKGND: return 1; // Avoid any background erasure as whole window painted. @@ -1915,6 +1916,17 @@ sptr_t ScintillaWin::WndProc(unsigned int iMessage, uptr_t wParam, sptr_t lParam case WM_GETTEXT: return GetText(wParam, lParam); + case WM_INPUTLANGCHANGE: + case WM_INPUTLANGCHANGEREQUEST: + case WM_IME_KEYDOWN: + case WM_IME_REQUEST: + case WM_IME_STARTCOMPOSITION: + case WM_IME_ENDCOMPOSITION: + case WM_IME_COMPOSITION: + case WM_IME_SETCONTEXT: + case WM_IME_NOTIFY: + return IMEMessage(iMessage, wParam, lParam); + case EM_LINEFROMCHAR: case EM_EXLINEFROMCHAR: case EM_GETSEL: |
