mirror of https://github.com/encounter/SDL.git
* Added TranslateMessage call to SDL default message pump - was causing problems in S2 tools mode apps that used Qt. Qt relies on the WM_CHAR message generated by TranslateMessage and keyboard input was showing up in the UI as mixed-case. (Depending on which message pump got a given message - both SDL and Qt pump messages for the entire process.) Sam will review and possibly tweak this change before propagating to public SDL, but I'm checking this version in so I can integrate into S2 and fix the issue there.
This commit is contained in:
parent
366b1727bb
commit
5c58bd6877
|
@ -550,24 +550,6 @@ WIN_WindowProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
|
||||||
returnCode = 0;
|
returnCode = 0;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case WM_UNICHAR:
|
|
||||||
{
|
|
||||||
if (wParam == UNICODE_NOCHAR) {
|
|
||||||
returnCode = 1;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
/* no break */
|
|
||||||
case WM_CHAR:
|
|
||||||
{
|
|
||||||
char text[5];
|
|
||||||
|
|
||||||
WIN_ConvertUTF32toUTF8(wParam, text);
|
|
||||||
SDL_SendKeyboardText(text);
|
|
||||||
}
|
|
||||||
returnCode = 0;
|
|
||||||
break;
|
|
||||||
|
|
||||||
#ifdef WM_INPUTLANGCHANGE
|
#ifdef WM_INPUTLANGCHANGE
|
||||||
case WM_INPUTLANGCHANGE:
|
case WM_INPUTLANGCHANGE:
|
||||||
{
|
{
|
||||||
|
@ -866,6 +848,7 @@ WIN_PumpEvents(_THIS)
|
||||||
const Uint8 *keystate;
|
const Uint8 *keystate;
|
||||||
MSG msg;
|
MSG msg;
|
||||||
while (PeekMessage(&msg, NULL, 0, 0, PM_REMOVE)) {
|
while (PeekMessage(&msg, NULL, 0, 0, PM_REMOVE)) {
|
||||||
|
TranslateMessage(&msg);
|
||||||
DispatchMessage(&msg);
|
DispatchMessage(&msg);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue