diff options
| author | Eli Zaretskii | 2015-03-07 12:49:54 +0200 |
|---|---|---|
| committer | Eli Zaretskii | 2015-03-07 12:49:54 +0200 |
| commit | e851da3540d29122fd3b53ae26d766237c85b989 (patch) | |
| tree | 5173ea14b5b482ea8a31741d3ca9ca558aacdd6c /src | |
| parent | 35e2b6ab4d28547ec079de18cf1cf65623e6909a (diff) | |
| download | emacs-e851da3540d29122fd3b53ae26d766237c85b989.tar.gz emacs-e851da3540d29122fd3b53ae26d766237c85b989.zip | |
Partially revert the fix for bug #11732
src/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.
Diffstat (limited to 'src')
| -rw-r--r-- | src/ChangeLog | 9 | ||||
| -rw-r--r-- | src/w32fns.c | 14 |
2 files changed, 18 insertions, 5 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 6b658f51671..fc776188f05 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,12 @@ | |||
| 1 | 2015-03-07 Eli Zaretskii <eliz@gnu.org> | ||
| 2 | |||
| 3 | * w32fns.c <ImmReleaseContext_Proc, ImmSetCompositionWindow_Proc>: | ||
| 4 | Fix typedefs to be consistent with the corresponding w32 API | ||
| 5 | signatures. | ||
| 6 | (w32_wnd_proc) <WM_IME_STARTCOMPOSITION>: Don't invoke | ||
| 7 | DefWindowProc if we successfully handled the message, as doing so | ||
| 8 | causes problems in displaying selection dialogs. (Bug#11732) | ||
| 9 | |||
| 1 | 2015-03-05 Paul Eggert <eggert@cs.ucla.edu> | 10 | 2015-03-05 Paul Eggert <eggert@cs.ucla.edu> |
| 2 | 11 | ||
| 3 | Work around x86 glibc backtrace bug | 12 | Work around x86 glibc backtrace bug |
diff --git a/src/w32fns.c b/src/w32fns.c index 64532ae6629..6abb433fd2f 100644 --- a/src/w32fns.c +++ b/src/w32fns.c | |||
| @@ -157,8 +157,8 @@ typedef BOOL (WINAPI * TrackMouseEvent_Proc) | |||
| 157 | typedef LONG (WINAPI * ImmGetCompositionString_Proc) | 157 | typedef LONG (WINAPI * ImmGetCompositionString_Proc) |
| 158 | (IN HIMC context, IN DWORD index, OUT LPVOID buffer, IN DWORD bufLen); | 158 | (IN HIMC context, IN DWORD index, OUT LPVOID buffer, IN DWORD bufLen); |
| 159 | typedef HIMC (WINAPI * ImmGetContext_Proc) (IN HWND window); | 159 | typedef HIMC (WINAPI * ImmGetContext_Proc) (IN HWND window); |
| 160 | typedef HWND (WINAPI * ImmReleaseContext_Proc) (IN HWND wnd, IN HIMC context); | 160 | typedef BOOL (WINAPI * ImmReleaseContext_Proc) (IN HWND wnd, IN HIMC context); |
| 161 | typedef HWND (WINAPI * ImmSetCompositionWindow_Proc) (IN HIMC context, | 161 | typedef BOOL (WINAPI * ImmSetCompositionWindow_Proc) (IN HIMC context, |
| 162 | IN COMPOSITIONFORM *form); | 162 | IN COMPOSITIONFORM *form); |
| 163 | typedef HMONITOR (WINAPI * MonitorFromPoint_Proc) (IN POINT pt, IN DWORD flags); | 163 | typedef HMONITOR (WINAPI * MonitorFromPoint_Proc) (IN POINT pt, IN DWORD flags); |
| 164 | typedef BOOL (WINAPI * GetMonitorInfo_Proc) | 164 | typedef BOOL (WINAPI * GetMonitorInfo_Proc) |
| @@ -3324,9 +3324,13 @@ w32_wnd_proc (HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) | |||
| 3324 | set_ime_composition_window_fn (context, &form); | 3324 | set_ime_composition_window_fn (context, &form); |
| 3325 | release_ime_context_fn (hwnd, context); | 3325 | release_ime_context_fn (hwnd, context); |
| 3326 | } | 3326 | } |
| 3327 | /* Pass WM_IME_STARTCOMPOSITION to DefWindowProc, so that the | 3327 | /* We should "goto dflt" here to pass WM_IME_STARTCOMPOSITION to |
| 3328 | composition window will actually be displayed. */ | 3328 | DefWindowProc, so that the composition window will actually |
| 3329 | goto dflt; | 3329 | be displayed. But doing so causes trouble with displaying |
| 3330 | dialog boxes, such as the file selection dialog or font | ||
| 3331 | selection dialog. So something else is needed to fix the | ||
| 3332 | former without breaking the latter. See bug#11732. */ | ||
| 3333 | break; | ||
| 3330 | 3334 | ||
| 3331 | case WM_IME_ENDCOMPOSITION: | 3335 | case WM_IME_ENDCOMPOSITION: |
| 3332 | ignore_ime_char = 0; | 3336 | ignore_ime_char = 0; |