From 9e2bdaab588a1ec8e7a9c96ac4deaccd45c5fc11 Mon Sep 17 00:00:00 2001 From: Peter Covington Date: Fri, 29 Dec 2023 21:15:23 -0500 Subject: [PATCH] Fixed vgui_screens always sending a mouse released event to the panel when the vgui_screen loses focus --- sp/src/game/client/c_vguiscreen.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sp/src/game/client/c_vguiscreen.cpp b/sp/src/game/client/c_vguiscreen.cpp index c2c17723..7695afd8 100644 --- a/sp/src/game/client/c_vguiscreen.cpp +++ b/sp/src/game/client/c_vguiscreen.cpp @@ -478,7 +478,7 @@ void C_VGuiScreen::ClientThink( void ) const int nBit = i ? IN_ATTACK2 : (IN_ATTACK | IN_USE); const vgui::MouseCode nButton = i ? MOUSE_RIGHT : MOUSE_LEFT; - if ((m_nButtonReleased & nBit) || m_bLoseThinkNextFrame) // for a button release on loosing focus + if ((m_nButtonReleased & nBit) || ((m_nButtonState & nBit) && m_bLoseThinkNextFrame)) // for a button release on loosing focus { g_InputInternal->SetMouseCodeState(nButton, vgui::BUTTON_RELEASED); vgui::ivgui()->PostMessage(focus, new KeyValues("MouseReleased", "code", nButton), NULL);