forked from mirror/OpenTTD
(svn r4586) - Codechange: Recursive commands that rely on _error_message to handle success/failure can fail if a recursive call fails but doesn't set the error message, thus resulting in an old, possibly erroneous being used (see FS#130 prior to r4585). Now properly reset the global variable _error_message in these cases.
This commit is contained in:
@@ -474,6 +474,7 @@ int32 CmdBuildLongRoad(TileIndex end_tile, uint32 flags, uint32 p1, uint32 p2)
|
||||
ret = DoCommand(tile, bits, 0, flags, CMD_BUILD_ROAD);
|
||||
if (CmdFailed(ret)) {
|
||||
if (_error_message != STR_1007_ALREADY_BUILT) return CMD_ERROR;
|
||||
_error_message = INVALID_STRING_ID;
|
||||
} else {
|
||||
cost += ret;
|
||||
}
|
||||
|
Reference in New Issue
Block a user