(svn r19663) -Fix: in rare cases, update of signals could be missed

This commit is contained in:
smatz 2010-04-17 20:21:33 +00:00
parent 320dcc7d07
commit 1f963aed43
1 changed files with 3 additions and 0 deletions

View File

@ -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);
}