Jacek Caban : win32u: Move default window proc to IME window forwarding implementation from user32.
Alexandre Julliard
julliard at winehq.org
Fri Jul 15 14:44:42 CDT 2022
Module: wine
Branch: master
Commit: 70ad65d8d19fa354e3bdfdab362cb7a154f75f75
URL: https://gitlab.winehq.org/wine/wine/-/commit/70ad65d8d19fa354e3bdfdab362cb7a154f75f75
Author: Jacek Caban <jacek at codeweavers.com>
Date: Fri Jul 15 13:00:51 2022 +0200
win32u: Move default window proc to IME window forwarding implementation from user32.
---
dlls/user32/defwnd.c | 35 -----------------------------------
dlls/win32u/defwnd.c | 15 +++++++++++++++
2 files changed, 15 insertions(+), 35 deletions(-)
diff --git a/dlls/user32/defwnd.c b/dlls/user32/defwnd.c
index 70d62c4f718..9e258e5d3c0 100644
--- a/dlls/user32/defwnd.c
+++ b/dlls/user32/defwnd.c
@@ -147,23 +147,6 @@ LRESULT WINAPI DefWindowProcA( HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam
}
}
/* fall through */
- case WM_IME_STARTCOMPOSITION:
- case WM_IME_ENDCOMPOSITION:
- case WM_IME_SELECT:
- case WM_IME_NOTIFY:
- case WM_IME_CONTROL:
- {
- HWND hwndIME = ImmGetDefaultIMEWnd( hwnd );
- if (hwndIME)
- result = SendMessageA( hwndIME, msg, wParam, lParam );
- }
- break;
- case WM_IME_SETCONTEXT:
- {
- HWND hwndIME = ImmGetDefaultIMEWnd( hwnd );
- if (hwndIME) result = ImmIsUIMessageA( hwndIME, msg, wParam, lParam );
- }
- break;
default:
result = NtUserMessageCall( hwnd, msg, wParam, lParam, 0, NtUserDefWindowProc, TRUE );
@@ -220,13 +203,6 @@ LRESULT WINAPI DefWindowProcW(
result = PostMessageW( hwnd, WM_KEYUP, wParam, lParam );
break;
- case WM_IME_SETCONTEXT:
- {
- HWND hwndIME = ImmGetDefaultIMEWnd( hwnd );
- if (hwndIME) result = ImmIsUIMessageW( hwndIME, msg, wParam, lParam );
- }
- break;
-
case WM_IME_COMPOSITION:
if (lParam & GCS_RESULTSTR)
{
@@ -249,17 +225,6 @@ LRESULT WINAPI DefWindowProcW(
}
}
/* fall through */
- case WM_IME_STARTCOMPOSITION:
- case WM_IME_ENDCOMPOSITION:
- case WM_IME_SELECT:
- case WM_IME_NOTIFY:
- case WM_IME_CONTROL:
- {
- HWND hwndIME = ImmGetDefaultIMEWnd( hwnd );
- if (hwndIME)
- result = SendMessageW( hwndIME, msg, wParam, lParam );
- }
- break;
default:
result = NtUserMessageCall( hwnd, msg, wParam, lParam, 0, NtUserDefWindowProc, FALSE );
diff --git a/dlls/win32u/defwnd.c b/dlls/win32u/defwnd.c
index 3e42e3b1e22..d271b5b9670 100644
--- a/dlls/win32u/defwnd.c
+++ b/dlls/win32u/defwnd.c
@@ -2901,6 +2901,21 @@ LRESULT default_window_proc( HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam,
free( win_array );
break;
}
+
+ case WM_IME_SETCONTEXT:
+ case WM_IME_COMPOSITION:
+ case WM_IME_STARTCOMPOSITION:
+ case WM_IME_ENDCOMPOSITION:
+ case WM_IME_SELECT:
+ case WM_IME_NOTIFY:
+ case WM_IME_CONTROL:
+ {
+ HWND ime_hwnd = get_default_ime_window( hwnd );
+ if (ime_hwnd)
+ result = NtUserMessageCall( ime_hwnd, msg, wparam, lparam,
+ 0, NtUserSendMessage, ansi );
+ }
+ break;
}
return result;
More information about the wine-cvs
mailing list