summaryrefslogtreecommitdiff
path: root/src/cargopacket.cpp
diff options
context:
space:
mode:
authorrubidium <rubidium@openttd.org>2011-02-19 18:02:17 +0000
committerrubidium <rubidium@openttd.org>2011-02-19 18:02:17 +0000
commit68bc93f95074702fde2876904198f585969201cc (patch)
treed4e944285ebe4ed2ea5bc068c1b854fbb5f95a4e /src/cargopacket.cpp
parentf575b45bae4b84ad734541cdd59b794352f6c0c7 (diff)
downloadopenttd-68bc93f95074702fde2876904198f585969201cc.tar.xz
(svn r22111) -Codechange/fix-ish: upon cleaning a pool a destructor should not delete items from other pools
Diffstat (limited to 'src/cargopacket.cpp')
-rw-r--r--src/cargopacket.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/cargopacket.cpp b/src/cargopacket.cpp
index f7d4348f9..012ae78f5 100644
--- a/src/cargopacket.cpp
+++ b/src/cargopacket.cpp
@@ -155,6 +155,16 @@ CargoList<Tinst>::~CargoList()
}
/**
+ * Empty the cargo list, but don't free the cargo packets;
+ * the cargo packets are cleaned by CargoPacket's CleanPool.
+ */
+template <class Tinst>
+void CargoList<Tinst>::OnCleanPool()
+{
+ this->packets.clear();
+}
+
+/**
* Update the cached values to reflect the removal of this packet.
* Decreases count and days_in_transit.
* @param cp Packet to be removed from cache.