From d2ec27c6c49833c0d0328b494173061d9155eae9 Mon Sep 17 00:00:00 2001 From: frosch Date: Sun, 7 Sep 2014 13:52:20 +0000 Subject: [PATCH] (svn r26787) -Fix (r20547): Loading a game with order backups leaked Orders and left unreachable items in the pool. --- src/saveload/order_sl.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/saveload/order_sl.cpp b/src/saveload/order_sl.cpp index d939742346..ba1f79c388 100644 --- a/src/saveload/order_sl.cpp +++ b/src/saveload/order_sl.cpp @@ -302,7 +302,12 @@ void Load_BKOR() * Furthermore before savegame version 192 the actual content was always corrupt. */ if (!_networking || _network_server || IsSavegameVersionBefore(192)) { - _order_backup_pool.CleanPool(); + /* Note: We cannot use CleanPool since that skips part of the destructor + * and then leaks un-reachable Orders in the order pool. */ + OrderBackup *ob; + FOR_ALL_ORDER_BACKUPS(ob) { + delete ob; + } } }