From 51c4ecc87929060e71e0891b7fc8b7ab1bcdbf59 Mon Sep 17 00:00:00 2001 From: Cameron Gutman Date: Wed, 6 May 2020 21:41:57 -0700 Subject: [PATCH] Revert "Partially unrevert 05e82c24 for macOS which still needs it" This reverts commit 080421f2fba937acdbe4f3082f51363473ba02c7. --- app/streaming/input/input.cpp | 25 ------------------------- app/streaming/input/input.h | 4 ---- app/streaming/input/mouse.cpp | 24 ------------------------ app/streaming/session.cpp | 5 +---- 4 files changed, 1 insertion(+), 57 deletions(-) diff --git a/app/streaming/input/input.cpp b/app/streaming/input/input.cpp index 5ef2d68a..8f563108 100644 --- a/app/streaming/input/input.cpp +++ b/app/streaming/input/input.cpp @@ -19,7 +19,6 @@ SdlInputHandler::SdlInputHandler(StreamingPreferences& prefs, NvComputer*, int s m_StreamHeight(streamHeight), m_AbsoluteMouseMode(prefs.absoluteMouseMode), m_AbsoluteTouchMode(prefs.absoluteTouchMode), - m_PendingFocusGain(false), m_LeftButtonReleaseTimer(0), m_RightButtonReleaseTimer(0), m_DragTimer(0), @@ -193,30 +192,6 @@ void SdlInputHandler::raiseAllKeys() m_KeysDown.clear(); } -void SdlInputHandler::notifyFocusGained() -{ -#if defined(Q_OS_DARWIN) - int mouseX, mouseY; - Uint32 mouseState = SDL_GetGlobalMouseState(&mouseX, &mouseY); - if (mouseState & SDL_BUTTON_LMASK) { - int x, y, width, height; - SDL_GetWindowPosition(m_Window, &x, &y); - SDL_GetWindowSize(m_Window, &width, &height); - if (mouseX > x && mouseX < x+width && mouseY > y && mouseY < y+height) { - if (m_AbsoluteMouseMode) { - // Send synthetic mouse motion until the button is lifted - m_PendingFocusGain = true; - } - else { - // Recapture the mouse - // FIXME: Why is this necessary with SDL_HINT_MOUSE_FOCUS_CLICKTHROUGH? - setCaptureActive(true); - } - } - } -#endif -} - void SdlInputHandler::notifyFocusLost() { // Release mouse cursor when another window is activated (e.g. by using ALT+TAB). diff --git a/app/streaming/input/input.h b/app/streaming/input/input.h index 38528cd4..e861bf51 100644 --- a/app/streaming/input/input.h +++ b/app/streaming/input/input.h @@ -69,8 +69,6 @@ public: void raiseAllKeys(); - void notifyFocusGained(); - void notifyFocusLost(); bool isCaptureActive(); @@ -127,8 +125,6 @@ private: bool m_AbsoluteMouseMode; bool m_AbsoluteTouchMode; - bool m_PendingFocusGain; - SDL_TouchFingerEvent m_TouchDownEvent[MAX_FINGERS]; SDL_TimerID m_LeftButtonReleaseTimer; SDL_TimerID m_RightButtonReleaseTimer; diff --git a/app/streaming/input/mouse.cpp b/app/streaming/input/mouse.cpp index d94f4f26..923aa302 100644 --- a/app/streaming/input/mouse.cpp +++ b/app/streaming/input/mouse.cpp @@ -122,29 +122,5 @@ Uint32 SdlInputHandler::mouseMoveTimerCallback(Uint32 interval, void *param) LiSendMouseMoveEvent(deltaX, deltaY); } - if (me->m_AbsoluteMouseMode && me->m_PendingFocusGain) { - int mouseX, mouseY; - int windowX, windowY; - SDL_Event event; - Uint32 buttonState = SDL_GetGlobalMouseState(&mouseX, &mouseY); - SDL_GetWindowPosition(me->m_Window, &windowX, &windowY); - - // Send synthetic mouse move events until the button is released - event.motion.type = SDL_MOUSEMOTION; - event.motion.timestamp = SDL_GetTicks(); - event.motion.windowID = SDL_GetWindowID(me->m_Window); - event.motion.which = 0; - event.motion.state = buttonState; - event.motion.x = mouseX - windowX; - event.motion.y = mouseY - windowY; - event.motion.xrel = 0; - event.motion.yrel = 0; - SDL_PushEvent(&event); - - if ((buttonState & SDL_BUTTON_LMASK) == 0) { - me->m_PendingFocusGain = false; - } - } - return interval; } diff --git a/app/streaming/session.cpp b/app/streaming/session.cpp index 0b5f33d5..fb15373d 100644 --- a/app/streaming/session.cpp +++ b/app/streaming/session.cpp @@ -1218,10 +1218,7 @@ void Session::exec(int displayOriginX, int displayOriginY) break; case SDL_WINDOWEVENT: - if (event.window.event == SDL_WINDOWEVENT_FOCUS_GAINED) { - m_InputHandler->notifyFocusGained(); - } - else if (event.window.event == SDL_WINDOWEVENT_FOCUS_LOST) { + if (event.window.event == SDL_WINDOWEVENT_FOCUS_LOST) { m_InputHandler->notifyFocusLost(); }