From 69966b6322b99d2336c76a91525f0b18b36e17f9 Mon Sep 17 00:00:00 2001 From: frosch Date: Sat, 10 Dec 2016 15:49:25 +0000 Subject: (svn r27690) -Fix: Old compilers do not zero-initialise POD members when explicitly calling implicitly created default constructors. --- src/rail_cmd.cpp | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/rail_cmd.cpp b/src/rail_cmd.cpp index 511f5abc7..a8c20e339 100644 --- a/src/rail_cmd.cpp +++ b/src/rail_cmd.cpp @@ -68,7 +68,16 @@ void ResetRailTypes() uint i = 0; for (; i < lengthof(_original_railtypes); i++) _railtypes[i] = _original_railtypes[i]; - for (; i < lengthof(_railtypes); i++) _railtypes[i] = RailtypeInfo(); // zero-init + + static const RailtypeInfo empty_railtype = { + {0,0,0,0,0,0,0,0,0,0,0,0}, + {0,0,0,0,0,0,0,0,{}}, + {0,0,0,0,0,0,0,0}, + {0,0,0,0,0,0}, + 0, RAILTYPES_NONE, RAILTYPES_NONE, 0, 0, 0, RTFB_NONE, 0, 0, 0, 0, 0, + RailTypeLabelList(), 0, 0, RAILTYPES_NONE, RAILTYPES_NONE, 0, + {}, {} }; + for (; i < lengthof(_railtypes); i++) _railtypes[i] = empty_railtype; } void ResolveRailTypeGUISprites(RailtypeInfo *rti) -- cgit v1.2.3-70-g09d2