From 8d2c82bc2af1c970a8d21757f237c4b0d1f76d52 Mon Sep 17 00:00:00 2001 From: rubidium Date: Mon, 11 Dec 2006 12:37:57 +0000 Subject: [PATCH] (svn r7477) -Fix (7451): Allocate(Industry|Town) get called twice when trying to build an industry/town via a command, thus incrementing the number of towns/industries twice when created via a command. --- industry_cmd.c | 3 +-- town_cmd.c | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/industry_cmd.c b/industry_cmd.c index e360cad954..ccec97c55e 100644 --- a/industry_cmd.c +++ b/industry_cmd.c @@ -1362,8 +1362,6 @@ static Industry *AllocateIndustry(void) if (IsValidIndustry(i)) continue; - _total_industries++; - memset(i, 0, sizeof(*i)); i->index = index; @@ -1380,6 +1378,7 @@ static void DoCreateNewIndustry(Industry *i, TileIndex tile, int type, const Ind uint32 r; int j; + _total_industries++; i->xy = tile; i->width = i->height = 0; i->type = type; diff --git a/town_cmd.c b/town_cmd.c index 98a563e89b..99a8210837 100644 --- a/town_cmd.c +++ b/town_cmd.c @@ -915,6 +915,7 @@ static void DoCreateTown(Town *t, TileIndex tile, uint32 townnameparts, uint siz i = t->index; memset(t, 0, sizeof(Town)); t->index = i; + _total_towns++; t->xy = tile; t->num_houses = 0; @@ -984,8 +985,6 @@ static Town *AllocateTown(void) if (!IsValidTown(t)) { TownID index = t->index; - _total_towns++; - memset(t, 0, sizeof(Town)); t->index = index;