changeset 102394:f978553ef98f

(w32_wnd_proc): Only ignore IME messages for the characters that have already been read.
author Jason Rumney <jasonr@gnu.org>
date Wed, 04 Mar 2009 13:36:34 +0000
parents 5e36a5376d8a
children 8311418d8d1f
files src/w32fns.c
diffstat 1 files changed, 6 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/src/w32fns.c	Wed Mar 04 13:02:54 2009 +0000
+++ b/src/w32fns.c	Wed Mar 04 13:36:34 2009 +0000
@@ -3159,10 +3159,13 @@
               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: