diff -r e5bc40acdfaa -r 2b30283a402c hedgewars/hwengine.pas --- a/hedgewars/hwengine.pas Sun Jan 10 12:59:03 2016 +0100 +++ b/hedgewars/hwengine.pas Sun Jan 10 17:39:27 2016 +0100 @@ -155,11 +155,13 @@ PrevTime, CurrTime: LongWord; isTerminated: boolean; previousGameState: TGameState; + wheelEvent: boolean; begin isTerminated:= false; PrevTime:= SDL_GetTicks; while isTerminated = false do begin + wheelEvent:= false; SDL_PumpEvents(); while SDL_PeepEvents(@event, 1, SDL_GETEVENT, SDL_FIRSTEVENT, SDL_LASTEVENT) > 0 do @@ -187,7 +189,10 @@ if (GameState >= gsGame) then ProcessMouse(event.button, false); SDL_MOUSEWHEEL: + begin + wheelEvent:= true; ProcessMouseWheel(event.wheel.x, event.wheel.y); + end; SDL_TEXTINPUT: uChat.TextInput(event.text); @@ -239,6 +244,9 @@ end; //end case event.type_ of end; //end while SDL_PollEvent(@event) <> 0 do + if (not wheelEvent) then + ResetMouseWheel(); + if (CursorMovementX <> 0) or (CursorMovementY <> 0) then handlePositionUpdate(CursorMovementX * cameraKeyboardSpeed, CursorMovementY * cameraKeyboardSpeed);