# HG changeset patch # User frosch # Date 2014-09-07 13:52:20 # Node ID 26ebae6148dbf414eda3e3f0b1ea7d0cba7f86ee # Parent 6aa927ce7131e3fffde53dddcde6b2caebaa69f7 (svn r26787) -Fix (r20547): Loading a game with order backups leaked Orders and left unreachable items in the pool. diff --git a/src/saveload/order_sl.cpp b/src/saveload/order_sl.cpp --- 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; + } } }