diff options
author | rubidium <rubidium@openttd.org> | 2009-01-04 12:09:48 +0000 |
---|---|---|
committer | rubidium <rubidium@openttd.org> | 2009-01-04 12:09:48 +0000 |
commit | 8c33893ffd5cfcaf3d3a8b0cc24cb1f2be7738ef (patch) | |
tree | d3a12cdcf86005f3d95049035d7f5f2f33c97ae5 | |
parent | 702c372744d1fbcd0ef2dbc10c00634c40ababe0 (diff) | |
download | openttd-8c33893ffd5cfcaf3d3a8b0cc24cb1f2be7738ef.tar.xz |
(svn r14824) -Fix [FS#1725]: mouse events could be treated twice (illogict)
-rw-r--r-- | src/window.cpp | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/src/window.cpp b/src/window.cpp index bf79b2b88..cc5e6b700 100644 --- a/src/window.cpp +++ b/src/window.cpp @@ -1776,13 +1776,6 @@ static int _input_events_this_tick = 0; */ static void HandleAutoscroll() { - if (_input_events_this_tick != 0) { - /* HandleAutoscroll is called only once per GameLoop() - so we can clear the counter here */ - _input_events_this_tick = 0; - /* there were some inputs this tick, don't scroll ??? */ - return; - } - if (_settings_client.gui.autoscroll && _game_mode != GM_MENU && !IsGeneratingWorld()) { int x = _cursor.pos.x; int y = _cursor.pos.y; @@ -2020,6 +2013,15 @@ void HandleMouseEvents() void InputLoop() { HandleKeyScrolling(); + + if (_input_events_this_tick != 0) { + /* The input loop is called only once per GameLoop() - so we can clear the counter here */ + _input_events_this_tick = 0; + /* there were some inputs this tick, don't scroll ??? */ + return; + } + + /* HandleMouseEvents was already called for this tick */ HandleMouseEvents(); HandleAutoscroll(); } |