diff --git a/Engine/source/windowManager/sdl/sdlWindow.cpp b/Engine/source/windowManager/sdl/sdlWindow.cpp index 149825b98..ea2b29061 100644 --- a/Engine/source/windowManager/sdl/sdlWindow.cpp +++ b/Engine/source/windowManager/sdl/sdlWindow.cpp @@ -244,7 +244,7 @@ const char * PlatformWindowSDL::getCaption() void PlatformWindowSDL::setFocus() { - SDL_SetWindowGrab( mWindowHandle, SDL_TRUE ); + SDL_SetWindowInputFocus(mWindowHandle); } void PlatformWindowSDL::setClientExtent( const Point2I newExtent ) @@ -577,9 +577,7 @@ void PlatformWindowSDL::_processSDLEvent(SDL_Event &evt) case SDL_MOUSEBUTTONDOWN: case SDL_MOUSEBUTTONUP: { - appEvent.trigger(getWindowId(), GainFocus); _triggerMouseButtonNotify(evt); - break; } @@ -587,6 +585,12 @@ void PlatformWindowSDL::_processSDLEvent(SDL_Event &evt) { switch( evt.window.event ) { + case SDL_WINDOWEVENT_FOCUS_GAINED: + appEvent.trigger(getWindowId(), GainFocus); + break; + case SDL_WINDOWEVENT_FOCUS_LOST: + appEvent.trigger(getWindowId(), LoseFocus); + break; case SDL_WINDOWEVENT_MAXIMIZED: case SDL_WINDOWEVENT_RESIZED: {