diff options
Diffstat (limited to 'src/window.cpp')
-rw-r--r-- | src/window.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/window.cpp b/src/window.cpp index 82458879b..44dc9ae2a 100644 --- a/src/window.cpp +++ b/src/window.cpp @@ -1466,6 +1466,13 @@ static bool HandleViewportScroll() w = FindWindowFromPt(_cursor.pos.x, _cursor.pos.y); + if (WP(w, vp_d).follow_vehicle != INVALID_VEHICLE && w == FindWindowById(WC_MAIN_WINDOW, 0)) { + /* If the main window is following a vehicle, then first let go of it! */ + const Vehicle *veh = GetVehicle(WP(w, vp_d).follow_vehicle); + ScrollMainWindowTo(veh->x_pos, veh->y_pos, true); /* This also resets follow_vehicle */ + return true; + } + if (!(_right_button_down || scrollwheel_scrolling) || w == NULL) { _cursor.fix_at = false; _scrolling_viewport = false; |