From 060d243f6652ca82c33f5499a44fdddc116f1aca Mon Sep 17 00:00:00 2001 From: Philipp Wiesemann Date: Fri, 6 Mar 2015 21:34:10 +0100 Subject: [PATCH] Windows: Fixed ignoring return value of internal function. If the function WIN_ConvertUTF32toUTF8() failed (should currently not be possible) a not terminated string would have been sent as text input event. This also fixed converting characters more often than needed on key repetition. --- src/video/windows/SDL_windowsevents.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/video/windows/SDL_windowsevents.c b/src/video/windows/SDL_windowsevents.c index 9f2eff3f7..524e67adf 100644 --- a/src/video/windows/SDL_windowsevents.c +++ b/src/video/windows/SDL_windowsevents.c @@ -559,10 +559,11 @@ WIN_WindowProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) GetKeyboardState(keyboardState); if (ToUnicode(wParam, (lParam >> 16) & 0xff, keyboardState, (LPWSTR)&utf32, 1, 0) > 0) { - WORD repetition; - for (repetition = lParam & 0xffff; repetition > 0; repetition--) { - WIN_ConvertUTF32toUTF8(utf32, text); - SDL_SendKeyboardText(text); + if (WIN_ConvertUTF32toUTF8(utf32, text)) { + WORD repetition; + for (repetition = lParam & 0xffff; repetition > 0; repetition--) { + SDL_SendKeyboardText(text); + } } } }