From 1f963aed43db64490faa242cc2acce9f08c42f68 Mon Sep 17 00:00:00 2001 From: smatz Date: Sat, 17 Apr 2010 20:21:33 +0000 Subject: [PATCH] (svn r19663) -Fix: in rare cases, update of signals could be missed --- src/command.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/command.cpp b/src/command.cpp index 6fcb1f29e1..f2baa2ff65 100644 --- a/src/command.cpp +++ b/src/command.cpp @@ -670,6 +670,9 @@ CommandCost DoCommandPInternal(TileIndex tile, uint32 p1, uint32 p2, uint32 cmd, /* If we're needing more money and we haven't done * anything yet, ask for the money! */ if (_additional_cash_required != 0 && res2.GetCost() == 0) { + /* It could happen we removed rail, thus gained money, and deleted something else. + * So make sure the signal buffer is empty even in this case */ + UpdateSignalsInBuffer(); SetDParam(0, _additional_cash_required); return_dcpi(CommandCost(STR_ERROR_NOT_ENOUGH_CASH_REQUIRES_CURRENCY), false); }