summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoryexo <yexo@openttd.org>2009-09-04 22:25:12 +0000
committeryexo <yexo@openttd.org>2009-09-04 22:25:12 +0000
commitae9441aa4628e2e559ea8f7e490e13ea0be34bab (patch)
tree826de24043edc826d3213ce8c8de78e9fe394ccc
parent677946a368aca5f18b95213f59a8fa4df79da158 (diff)
downloadopenttd-ae9441aa4628e2e559ea8f7e490e13ea0be34bab.tar.xz
(svn r17419) -Fix (r-old, r16378): the index of orders loaded from old savegames was owerwritten with an unitialized value, causing asserts. The issue has present for a long time but only since the new pool system did it trigger a (correct) assert
-rw-r--r--src/saveload/oldloader_sl.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/saveload/oldloader_sl.cpp b/src/saveload/oldloader_sl.cpp
index 36b757937..1620ea169 100644
--- a/src/saveload/oldloader_sl.cpp
+++ b/src/saveload/oldloader_sl.cpp
@@ -607,7 +607,8 @@ static bool LoadOldOrder(LoadgameState *ls, int num)
{
if (!LoadChunk(ls, NULL, order_chunk)) return false;
- Order *o = new (num) Order(UnpackOldOrder(_old_order));
+ Order *o = new (num) Order();
+ o->AssignOrder(UnpackOldOrder(_old_order));
if (o->IsType(OT_NOTHING)) {
delete o;