summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/train_cmd.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/train_cmd.cpp b/src/train_cmd.cpp
index 1308d5757..891642070 100644
--- a/src/train_cmd.cpp
+++ b/src/train_cmd.cpp
@@ -3523,6 +3523,12 @@ static void TrainLocoHandler(Vehicle *v, bool mode)
if (!mode) HandleLocomotiveSmokeCloud(v);
int j = UpdateTrainSpeed(v);
+
+ /* we need to invalidate the widget if we are stopping from 'Stopping 0 km/h' to 'Stopped' */
+ if (v->cur_speed == 0 && v->u.rail.last_speed == 0 && v->vehstatus & VS_STOPPED) {
+ InvalidateWindowWidget(WC_VEHICLE_VIEW, v->index, VVW_WIDGET_START_STOP_VEH);
+ }
+
if (j == 0) {
/* if the vehicle has speed 0, update the last_speed field. */
if (v->cur_speed != 0) return;