diff options
author | michi_cc <michi_cc@openttd.org> | 2008-11-02 19:32:24 +0000 |
---|---|---|
committer | michi_cc <michi_cc@openttd.org> | 2008-11-02 19:32:24 +0000 |
commit | 808d9255a8e68fa34bdb51eccdd4db4a347268ed (patch) | |
tree | 075b630eaffde97dc620e5cc8bd4bd97314013ed | |
parent | f649496caafb2946d982dbea84d7232e4fb3f3c9 (diff) | |
download | openttd-808d9255a8e68fa34bdb51eccdd4db4a347268ed.tar.xz |
(svn r14559) -Fix [FS#2387]: A train could be blocked inside a depot if it was reversed just after leaving the depot.
-rw-r--r-- | src/train_cmd.cpp | 4 | ||||
-rw-r--r-- | src/vehicle.cpp | 4 |
2 files changed, 4 insertions, 4 deletions
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; |