aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJason Rumney <[email protected]>2009-03-04 13:41:03 +0000
committerJason Rumney <[email protected]>2009-03-04 13:41:03 +0000
commit2c93b2488111dd1ec3a733c26bfbe929d3fc002b (patch)
treef22991bf5a7ace162fb743d28bd64d9ad06ef9bd
parent10ea2b82aa4a6509a8f97f43918a6047684857f4 (diff)
(w32_wnd_proc): Only ignore IME messages for the
characters that have already been read.
-rw-r--r--src/ChangeLog3
-rw-r--r--src/w32fns.c9
2 files changed, 9 insertions, 3 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 2adea67735..f5e847ff76 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,5 +1,8 @@
2009-03-04 Jason Rumney <[email protected]>
+ * w32fns.c (w32_wnd_proc): Only ignore IME messages for the
+ characters that have already been read.
+
* image.c (xbm_read_bitmap_data, png_load, svg_load_image):
Log an error message if check_image_size failed.
(xpm_load_image, pbm_load, jpeg_load, tiff_load, gif_load)
diff --git a/src/w32fns.c b/src/w32fns.c
index 16649cce2c..97b9adea2c 100644
--- a/src/w32fns.c
+++ b/src/w32fns.c
@@ -3159,10 +3159,13 @@ w32_wnd_proc (hwnd, msg, wParam, lParam)
my_post_msg (&wmsg, hwnd, WM_UNICHAR, (WPARAM) buffer[i],
lParam);
}
- /* We output the whole string above, so ignore following ones
- until we are notified of the end of composition. */
- ignore_ime_char = 1;
+ /* Ignore the messages for the rest of the
+ characters in the string that was output above. */
+ ignore_ime_char = (size / sizeof (wchar_t)) - 1;
}
+ else
+ ignore_ime_char--;
+
break;
case WM_IME_ENDCOMPOSITION: