# HG changeset patch # User Sam Lantinga # Date 1284859861 25200 # Node ID 443771460df91f489e7aed14013337c009eb1fd8 # Parent 8c9cbb623d5505833169bdf15c5b09e3a074ce99 Fixed crash on systems that don't have StopTextInput diff -r 8c9cbb623d55 -r 443771460df9 src/events/SDL_keyboard.c --- a/src/events/SDL_keyboard.c Sat Sep 18 18:15:08 2010 -0700 +++ b/src/events/SDL_keyboard.c Sat Sep 18 18:31:01 2010 -0700 @@ -612,11 +612,14 @@ if (keyboard->focus && keyboard->focus != window) { SDL_SendWindowEvent(keyboard->focus, SDL_WINDOWEVENT_FOCUS_LOST, 0, 0); - - //Ensures IME compositions are committed - if (SDL_EventState(SDL_TEXTINPUT, SDL_QUERY)) { - SDL_GetVideoDevice()->StopTextInput(SDL_GetVideoDevice()); - } + + /* Ensures IME compositions are committed */ + if (SDL_EventState(SDL_TEXTINPUT, SDL_QUERY)) { + SDL_VideoDevice *video = SDL_GetVideoDevice(); + if (video && video->StopTextInput) { + video->StopTextInput(video); + } + } } keyboard->focus = window; @@ -626,7 +629,10 @@ 0, 0); if (SDL_EventState(SDL_TEXTINPUT, SDL_QUERY)) { - SDL_StartTextInput(); + SDL_VideoDevice *video = SDL_GetVideoDevice(); + if (video && video->StartTextInput) { + video->StartTextInput(video); + } } } }