From 35521c25c056f65db0fd18d57110e7285ee8bb16 Mon Sep 17 00:00:00 2001 From: Jonas Kulla Date: Wed, 25 Sep 2013 20:35:00 +0200 Subject: [PATCH] Don't hide cursor when window isn't focused --- src/eventthread.cpp | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/eventthread.cpp b/src/eventthread.cpp index d3e6cbd..f7c1a87 100644 --- a/src/eventthread.cpp +++ b/src/eventthread.cpp @@ -71,6 +71,7 @@ void EventThread::process(RGSSThreadData &rtData) fullscreen = rtData.config.fullscreen; bool cursorInWindow = false; + bool windowFocused = false; bool terminate = false; @@ -98,12 +99,12 @@ void EventThread::process(RGSSThreadData &rtData) case SDL_WINDOWEVENT_ENTER : cursorInWindow = true; - updateCursorState(cursorInWindow); + updateCursorState(cursorInWindow && windowFocused); break; case SDL_WINDOWEVENT_LEAVE : cursorInWindow = false; - updateCursorState(cursorInWindow); + updateCursorState(cursorInWindow && windowFocused); break; case SDL_WINDOWEVENT_CLOSE : @@ -111,13 +112,13 @@ void EventThread::process(RGSSThreadData &rtData) break; case SDL_WINDOWEVENT_FOCUS_GAINED : - cursorInWindow = true; - updateCursorState(cursorInWindow); + windowFocused = true; + updateCursorState(cursorInWindow && windowFocused); break; case SDL_WINDOWEVENT_FOCUS_LOST : - cursorInWindow = false; - updateCursorState(cursorInWindow); + windowFocused = false; + updateCursorState(cursorInWindow && windowFocused); resetInputStates(); break; }