diff --git a/apps/openmw/mwrender/actors.cpp b/apps/openmw/mwrender/actors.cpp index acc655404..85217b42d 100644 --- a/apps/openmw/mwrender/actors.cpp +++ b/apps/openmw/mwrender/actors.cpp @@ -99,12 +99,14 @@ void Actors::removeCell(MWWorld::Ptr::CellStore* store){ mRend.getScene()->destroySceneNode(base); base = 0; } - for(std::map::iterator iter = mAllActors.begin(); iter != mAllActors.end(); iter++) + for(std::map::iterator iter = mAllActors.begin(); iter != mAllActors.end(); ) { if(iter->first.getCell() == store){ delete iter->second; - mAllActors.erase(iter); + iter = mAllActors.erase(iter); } + else + ++iter; } }