emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] master bcf89ff 3/3: Merge branch 'master' of git.sv.gnu.or


From: Michael Albinus
Subject: [Emacs-diffs] master bcf89ff 3/3: Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs
Date: Sat, 07 Mar 2015 20:02:56 +0000

branch: master
commit bcf89ff33523e69f45b7afb528105089c62ec810
Merge: 8182282 e851da3
Author: Michael Albinus <address@hidden>
Commit: Michael Albinus <address@hidden>

    Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs
---
 src/ChangeLog |    9 +++++++++
 src/w32fns.c  |   14 +++++++++-----
 2 files changed, 18 insertions(+), 5 deletions(-)

diff --git a/src/ChangeLog b/src/ChangeLog
index 6b658f5..fc77618 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,12 @@
+2015-03-07  Eli Zaretskii  <address@hidden>
+
+       * w32fns.c <ImmReleaseContext_Proc, ImmSetCompositionWindow_Proc>:
+       Fix typedefs to be consistent with the corresponding w32 API
+       signatures.
+       (w32_wnd_proc) <WM_IME_STARTCOMPOSITION>: Don't invoke
+       DefWindowProc if we successfully handled the message, as doing so
+       causes problems in displaying selection dialogs.  (Bug#11732)
+
 2015-03-05  Paul Eggert  <address@hidden>
 
        Work around x86 glibc backtrace bug
diff --git a/src/w32fns.c b/src/w32fns.c
index 64532ae..6abb433 100644
--- a/src/w32fns.c
+++ b/src/w32fns.c
@@ -157,8 +157,8 @@ typedef BOOL (WINAPI * TrackMouseEvent_Proc)
 typedef LONG (WINAPI * ImmGetCompositionString_Proc)
   (IN HIMC context, IN DWORD index, OUT LPVOID buffer, IN DWORD bufLen);
 typedef HIMC (WINAPI * ImmGetContext_Proc) (IN HWND window);
-typedef HWND (WINAPI * ImmReleaseContext_Proc) (IN HWND wnd, IN HIMC context);
-typedef HWND (WINAPI * ImmSetCompositionWindow_Proc) (IN HIMC context,
+typedef BOOL (WINAPI * ImmReleaseContext_Proc) (IN HWND wnd, IN HIMC context);
+typedef BOOL (WINAPI * ImmSetCompositionWindow_Proc) (IN HIMC context,
                                                      IN COMPOSITIONFORM *form);
 typedef HMONITOR (WINAPI * MonitorFromPoint_Proc) (IN POINT pt, IN DWORD 
flags);
 typedef BOOL (WINAPI * GetMonitorInfo_Proc)
@@ -3324,9 +3324,13 @@ w32_wnd_proc (HWND hwnd, UINT msg, WPARAM wParam, LPARAM 
lParam)
          set_ime_composition_window_fn (context, &form);
          release_ime_context_fn (hwnd, context);
        }
-      /* Pass WM_IME_STARTCOMPOSITION to DefWindowProc, so that the
-        composition window will actually be displayed.  */
-      goto dflt;
+      /* We should "goto dflt" here to pass WM_IME_STARTCOMPOSITION to
+        DefWindowProc, so that the composition window will actually
+        be displayed.  But doing so causes trouble with displaying
+        dialog boxes, such as the file selection dialog or font
+        selection dialog.  So something else is needed to fix the
+        former without breaking the latter.  See bug#11732.  */
+      break;
 
     case WM_IME_ENDCOMPOSITION:
       ignore_ime_char = 0;



reply via email to

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