emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] master 37e3549: Fix display of IME window on MS-Windows (B


From: Eli Zaretskii
Subject: [Emacs-diffs] master 37e3549: Fix display of IME window on MS-Windows (Bug#11732)
Date: Thu, 19 Feb 2015 11:42:19 +0000

branch: master
commit 37e3549055fc153657f0a04b28cf29b7e15a97d8
Author: Fujii Hironori <address@hidden>
Commit: Eli Zaretskii <address@hidden>

    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
---
 src/ChangeLog |    6 ++++++
 src/w32fns.c  |   12 +++++++-----
 2 files changed, 13 insertions(+), 5 deletions(-)

diff --git a/src/ChangeLog b/src/ChangeLog
index 1c4758f..8713353 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,9 @@
+2015-02-19  Fujii Hironori  <address@hidden>  (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  <address@hidden>
 
        * emacs.c (Fkill_emacs): Exit with specified exit code even if
diff --git a/src/w32fns.c b/src/w32fns.c
index 08000d8..1e685ad 100644
--- a/src/w32fns.c
+++ b/src/w32fns.c
@@ -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;



reply via email to

[Prev in Thread] Current Thread [Next in Thread]