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;
// don't clear keys during changelevel
if( cls.changelevel ) return;
if( cls.changelevel )
return;
for( i = 0; i < 256; i++ )
{
if( keys[i].down )
if( keys[i].down && i < K_MOUSE1 && i > K_MOUSE5 )
Key_Event( i, false );
keys[i].down = 0;
@ -868,6 +869,9 @@ void GAME_EXPORT Key_ClearStates( void )
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 )
clgame.dllFuncs.IN_ClearStates();
}