From 9175046d263ea5fb6e720d2e658a34eb1b04e010 Mon Sep 17 00:00:00 2001 From: smatz Date: Sun, 23 Jan 2011 17:50:24 +0000 Subject: [PATCH] (svn r21903) -Codechange: warn only once for a train that has invalid length, not for each its wagon with invalid length --- src/train_cmd.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/train_cmd.cpp b/src/train_cmd.cpp index 108e755979..ccc644666c 100644 --- a/src/train_cmd.cpp +++ b/src/train_cmd.cpp @@ -104,6 +104,7 @@ static void RailVehicleLengthChanged(const Train *u) void CheckTrainsLengths() { const Train *v; + bool first = true; FOR_ALL_TRAINS(v) { if (v->First() == v && !(v->vehstatus & VS_CRASHED)) { @@ -116,7 +117,12 @@ void CheckTrainsLengths() SetDParam(1, v->owner); ShowErrorMessage(STR_BROKEN_VEHICLE_LENGTH, INVALID_STRING_ID, WL_CRITICAL); - if (!_networking) DoCommandP(0, PM_PAUSED_ERROR, 1, CMD_PAUSE); + if (!_networking && first) { + first = false; + DoCommandP(0, PM_PAUSED_ERROR, 1, CMD_PAUSE); + } + /* Break so we warn only once for each train. */ + break; } } }