From 023ce24b1a17af2394459866603b400e7b23f6fc Mon Sep 17 00:00:00 2001 From: michi_cc Date: Sun, 2 Nov 2008 19:32:24 +0000 Subject: (svn r14559) -Fix [FS#2387]: A train could be blocked inside a depot if it was reversed just after leaving the depot. --- src/train_cmd.cpp | 4 ---- src/vehicle.cpp | 4 ++++ 2 files changed, 4 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/train_cmd.cpp b/src/train_cmd.cpp index 96fd4dd07..43cf9265c 100644 --- a/src/train_cmd.cpp +++ b/src/train_cmd.cpp @@ -3654,10 +3654,6 @@ static void TrainController(Vehicle *v, Vehicle *nomove, bool update_image) TrainEnterStation(v, r >> VETS_STATION_ID_OFFSET); return; } - if (v->Next() == NULL && IsRailDepotTile(v->tile) && HasBit(r, VETS_ENTERED_WORMHOLE)) { - SetDepotWaypointReservation(v->tile, false); - if (_settings_client.gui.show_track_reservation) MarkTileDirtyByTile(v->tile); - } if (v->current_order.IsType(OT_LEAVESTATION)) { v->current_order.Free(); diff --git a/src/vehicle.cpp b/src/vehicle.cpp index f69951e89..95986e061 100644 --- a/src/vehicle.cpp +++ b/src/vehicle.cpp @@ -1558,6 +1558,10 @@ void VehicleEnterDepot(Vehicle *v) switch (v->type) { case VEH_TRAIN: InvalidateWindowClasses(WC_TRAINS_LIST); + /* Clear path reservation */ + SetDepotWaypointReservation(v->tile, false); + if (_settings_client.gui.show_track_reservation) MarkTileDirtyByTile(v->tile); + if (!IsFrontEngine(v)) v = v->First(); UpdateSignalsOnSegment(v->tile, INVALID_DIAGDIR, v->owner); v->load_unload_time_rem = 0; -- cgit v1.2.3-70-g09d2