1
0
Fork 0

(svn r19362) -Fix [FS#3667] (r19270): Failure to prospect an industry should not cause a crash.

release/1.1
alberth 2010-03-07 12:20:17 +00:00
parent 8d033e964e
commit 384e870be2
1 changed files with 10 additions and 12 deletions

View File

@ -1824,19 +1824,17 @@ CommandCost CmdBuildIndustry(TileIndex tile, DoCommandFlag flags, uint32 p1, uin
if (ret.Failed()) return ret; if (ret.Failed()) return ret;
} }
if (flags & DC_EXEC) { if ((flags & DC_EXEC) && ind != NULL && _game_mode != GM_EDITOR) {
assert(ind != NULL); /* Created a new industry in-game, advertise the event. */
if (_game_mode != GM_EDITOR) { SetDParam(0, indspec->name);
SetDParam(0, indspec->name); if (indspec->new_industry_text > STR_LAST_STRINGID) {
if (indspec->new_industry_text > STR_LAST_STRINGID) { SetDParam(1, STR_TOWN_NAME);
SetDParam(1, STR_TOWN_NAME); SetDParam(2, ind->town->index);
SetDParam(2, ind->town->index); } else {
} else { SetDParam(1, ind->town->index);
SetDParam(1, ind->town->index);
}
AddIndustryNewsItem(indspec->new_industry_text, NS_INDUSTRY_OPEN, ind->index);
AI::BroadcastNewEvent(new AIEventIndustryOpen(ind->index));
} }
AddIndustryNewsItem(indspec->new_industry_text, NS_INDUSTRY_OPEN, ind->index);
AI::BroadcastNewEvent(new AIEventIndustryOpen(ind->index));
} }
return CommandCost(EXPENSES_OTHER, indspec->GetConstructionCost()); return CommandCost(EXPENSES_OTHER, indspec->GetConstructionCost());