about summary refs log tree commit diff
path: root/src/engine/client/input.cpp
diff options
context:
space:
mode:
authorBeaR <cinaera@web.de>2012-05-02 13:53:28 +0200
committeroy <Tom_Adams@web.de>2013-02-24 17:39:31 +0100
commit0adaf8a75206bcc3cdba5c4eadd5014a3d696aff (patch)
treedd97762cb94f1e7ae02d9dac09b0301867d068ef /src/engine/client/input.cpp
parent86fe9757c5ca48349bf6d4035ffa33f745026a7e (diff)
downloadzcatch-0adaf8a75206bcc3cdba5c4eadd5014a3d696aff.tar.gz
zcatch-0adaf8a75206bcc3cdba5c4eadd5014a3d696aff.zip
#913
Fix Input Handling
Diffstat (limited to 'src/engine/client/input.cpp')
-rw-r--r--src/engine/client/input.cpp13
1 files changed, 9 insertions, 4 deletions
diff --git a/src/engine/client/input.cpp b/src/engine/client/input.cpp
index 0b4a44a4..7ff8d6fe 100644
--- a/src/engine/client/input.cpp
+++ b/src/engine/client/input.cpp
@@ -35,6 +35,7 @@ CInput::CInput()
 
 	m_InputCurrent = 0;
 	m_InputGrabbed = 0;
+	m_InputDispatched = false;
 
 	m_LastRelease = 0;
 	m_ReleaseDelta = -1;
@@ -116,10 +117,14 @@ int CInput::Update()
 	/*if(!input_grabbed && Graphics()->WindowActive())
 		Input()->MouseModeRelative();*/
 
-	// clear and begin count on the other one
-	m_InputCurrent^=1;
-	mem_zero(&m_aInputCount[m_InputCurrent], sizeof(m_aInputCount[m_InputCurrent]));
-	mem_zero(&m_aInputState[m_InputCurrent], sizeof(m_aInputState[m_InputCurrent]));
+	if(m_InputDispatched)
+	{
+		// clear and begin count on the other one
+		m_InputCurrent^=1;
+		mem_zero(&m_aInputCount[m_InputCurrent], sizeof(m_aInputCount[m_InputCurrent]));
+		mem_zero(&m_aInputState[m_InputCurrent], sizeof(m_aInputState[m_InputCurrent]));
+		m_InputDispatched = false;
+	}
 
 	{
 		int i;