Mercurial > sdl-ios-xcode
changeset 4291:6cc2b35ac610 SDL-1.2
Fixed bug #634
If TranslateMessage() isn't done, then IME messages aren't generated.
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Sat, 10 Oct 2009 07:30:00 +0000 |
parents | 485868a1c283 |
children | 464126f4c7db |
files | src/video/windib/SDL_dibevents.c src/video/windx5/SDL_dx5events.c |
diffstat | 2 files changed, 9 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/src/video/windib/SDL_dibevents.c Sat Oct 10 06:38:02 2009 +0000 +++ b/src/video/windib/SDL_dibevents.c Sat Oct 10 07:30:00 2009 +0000 @@ -198,7 +198,7 @@ m.wParam = wParam; m.lParam = lParam; m.time = 0; - if ( TranslateMessage(&m) && PeekMessage(&m, hwnd, 0, WM_USER, PM_NOREMOVE) && (m.message == WM_CHAR) ) { + if ( PeekMessage(&m, hwnd, 0, WM_USER, PM_NOREMOVE) && (m.message == WM_CHAR) ) { GetMessage(&m, hwnd, 0, WM_USER); wParam = m.wParam; } @@ -363,6 +363,7 @@ while ( PeekMessage(&msg, NULL, 0, 0, PM_NOREMOVE) ) { if ( GetMessage(&msg, NULL, 0, 0) > 0 ) { + TranslateMessage(&msg); DispatchMessage(&msg); } }
--- a/src/video/windx5/SDL_dx5events.c Sat Oct 10 06:38:02 2009 +0000 +++ b/src/video/windx5/SDL_dx5events.c Sat Oct 10 07:30:00 2009 +0000 @@ -655,6 +655,7 @@ while ( ! posted && PeekMessage(&msg, NULL, 0, 0, PM_NOREMOVE) ) { if ( GetMessage(&msg, NULL, 0, 0) > 0 ) { + TranslateMessage(&msg); DispatchMessage(&msg); } else { return(-1); @@ -713,12 +714,17 @@ } if ( event != WAIT_TIMEOUT ) { /* Maybe there was a windows message? */ - if ( PeekMessage(&msg, NULL, 0, 0, PM_NOREMOVE) ) { + posted = 0; + while ( ! posted && + PeekMessage(&msg, NULL, 0, 0, PM_NOREMOVE) ) { if ( GetMessage(&msg, NULL, 0, 0) > 0 ) { + TranslateMessage(&msg); DispatchMessage(&msg); } else { return(-1); } + } + if ( posted ) { return(1); } }