about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--src/engine/client/input.cpp8
-rw-r--r--src/game/client/components/menus_demo.cpp1
2 files changed, 8 insertions, 1 deletions
diff --git a/src/engine/client/input.cpp b/src/engine/client/input.cpp
index c6d3f58e..195b78aa 100644
--- a/src/engine/client/input.cpp
+++ b/src/engine/client/input.cpp
@@ -87,7 +87,13 @@ void CInput::MouseModeRelative()
 
 int CInput::MouseDoubleClick()
 {
-	return m_ReleaseDelta < (time_freq() >> 2);
+	if(m_ReleaseDelta >= 0 && m_ReleaseDelta < (time_freq() >> 2))
+	{
+		m_LastRelease = 0;
+		m_ReleaseDelta = -1;
+		return 1;
+	}
+	return 0;
 }
 
 void CInput::ClearKeyStates()
diff --git a/src/game/client/components/menus_demo.cpp b/src/game/client/components/menus_demo.cpp
index 82be758d..45a96d80 100644
--- a/src/game/client/components/menus_demo.cpp
+++ b/src/game/client/components/menus_demo.cpp
@@ -342,6 +342,7 @@ CMenus::CListboxItem CMenus::UiDoListboxNextItem(void *pId, bool Selected)
 			if(m_EnterPressed || (Input()->MouseDoubleClick() && UI()->ActiveItem() == pId))
 			{
 				gs_ListBoxItemActivated = true;
+				UI()->SetActiveItem(0);
 			}
 			else
 			{