engine: client: clear mouse state along with everything else in Key_ClearStates

This commit is contained in:
Alibek Omarov 2025-01-06 16:01:48 +03:00
parent 93d3df81ee
commit 9d2a85f11f

View file

@ -856,11 +856,12 @@ void GAME_EXPORT Key_ClearStates( void )
int i; int i;
// don't clear keys during changelevel // don't clear keys during changelevel
if( cls.changelevel ) return; if( cls.changelevel )
return;
for( i = 0; i < 256; i++ ) for( i = 0; i < 256; i++ )
{ {
if( keys[i].down ) if( keys[i].down && i < K_MOUSE1 && i > K_MOUSE5 )
Key_Event( i, false ); Key_Event( i, false );
keys[i].down = 0; keys[i].down = 0;
@ -868,6 +869,9 @@ void GAME_EXPORT Key_ClearStates( void )
keys[i].gamedown = 0; keys[i].gamedown = 0;
} }
for( i = K_MOUSE1; i < K_MOUSE5; i++ ) // from K_MOUSE1 to K_MOUSE5
IN_MouseEvent( i - K_MOUSE1, false );
if( clgame.hInstance ) if( clgame.hInstance )
clgame.dllFuncs.IN_ClearStates(); clgame.dllFuncs.IN_ClearStates();
} }