summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrubidium <rubidium@openttd.org>2006-12-11 12:37:57 +0000
committerrubidium <rubidium@openttd.org>2006-12-11 12:37:57 +0000
commit8d2c82bc2af1c970a8d21757f237c4b0d1f76d52 (patch)
tree21f3834054dd0957e7d27b7d7fc5f153e35bf8bb
parentc3d65805e7017361a668f6edf9bb62bdd59fd630 (diff)
downloadopenttd-8d2c82bc2af1c970a8d21757f237c4b0d1f76d52.tar.xz
(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.
-rw-r--r--industry_cmd.c3
-rw-r--r--town_cmd.c3
2 files changed, 2 insertions, 4 deletions
diff --git a/industry_cmd.c b/industry_cmd.c
index e360cad95..ccec97c55 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 98a563e89..99a821083 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;