(svn r22582) -Fix: Don't increment STL iterators after they've been invalidated.

This commit is contained in:
michi_cc 2011-06-13 10:46:00 +00:00
parent 2864f45024
commit ddfab2cc1c

View File

@ -218,7 +218,7 @@ void CargoList<Tinst>::Truncate(uint max_remaining)
CargoPacket *cp = *it;
if (max_remaining == 0) {
/* Nothing should remain, just remove the packets. */
this->packets.erase(it++);
it = this->packets.erase(it);
static_cast<Tinst *>(this)->RemoveFromCache(cp);
delete cp;
continue;
@ -278,7 +278,7 @@ bool CargoList<Tinst>::MoveTo(Tother_inst *dest, uint max_move, MoveToAction mta
if (cp->count <= max_move) {
/* Can move the complete packet */
max_move -= cp->count;
this->packets.erase(it++);
it = this->packets.erase(it);
static_cast<Tinst *>(this)->RemoveFromCache(cp);
switch (mta) {
case MTA_FINAL_DELIVERY: