diff options
author | rubidium <rubidium@openttd.org> | 2011-02-19 18:02:17 +0000 |
---|---|---|
committer | rubidium <rubidium@openttd.org> | 2011-02-19 18:02:17 +0000 |
commit | 68bc93f95074702fde2876904198f585969201cc (patch) | |
tree | d4e944285ebe4ed2ea5bc068c1b854fbb5f95a4e /src/cargopacket.cpp | |
parent | f575b45bae4b84ad734541cdd59b794352f6c0c7 (diff) | |
download | openttd-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.cpp | 10 |
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. |