1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2025-01-03 11:33:37 +00:00

Fix display of IME window on MS-Windows (Bug#11732)

src/w32fns.c (w32_wnd_proc) <WM_IME_STARTCOMPOSITION>: Pass the
 message to DefWindowProc, after positioning the IME window, to
 trigger its display.

 Copyright-paperwork-exempt: yes
This commit is contained in:
Fujii Hironori 2015-02-19 13:40:48 +02:00 committed by Eli Zaretskii
parent 99db66a01f
commit 37e3549055
2 changed files with 13 additions and 5 deletions

View File

@ -1,3 +1,9 @@
2015-02-19 Fujii Hironori <fujii.hironori@gmail.com> (tiny change)
* w32fns.c (w32_wnd_proc) <WM_IME_STARTCOMPOSITION>: Pass the
message to DefWindowProc, after positioning the IME window, to
trigger its display. (Bug#11732)
2015-02-18 Eli Zaretskii <eliz@gnu.org>
* emacs.c (Fkill_emacs): Exit with specified exit code even if

View File

@ -3295,12 +3295,12 @@ w32_wnd_proc (HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
field being reset to nil. */
f = x_window_to_frame (dpyinfo, hwnd);
if (!(f && FRAME_LIVE_P (f)))
break;
goto dflt;
w = XWINDOW (FRAME_SELECTED_WINDOW (f));
/* Punt if someone changed the frame's selected window
behind our back. */
if (w != w32_system_caret_window)
break;
goto dflt;
form.dwStyle = CFS_RECT;
form.ptCurrentPos.x = w32_system_caret_x;
@ -3318,17 +3318,19 @@ w32_wnd_proc (HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
/* Punt if the window was deleted behind our back. */
if (!BUFFERP (w->contents))
break;
goto dflt;
context = get_ime_context_fn (hwnd);
if (!context)
break;
goto dflt;
set_ime_composition_window_fn (context, &form);
release_ime_context_fn (hwnd, context);
}
break;
/* Pass WM_IME_STARTCOMPOSITION to DefWindowProc, so that the
composition window will actually be displayed. */
goto dflt;
case WM_IME_ENDCOMPOSITION:
ignore_ime_char = 0;