]> git.mxchange.org Git - flightgear.git/commitdiff
Fred found some iterated related problems. With a bit of luck this solves the segment...
authorehofman <ehofman>
Wed, 19 May 2004 08:01:02 +0000 (08:01 +0000)
committerehofman <ehofman>
Wed, 19 May 2004 08:01:02 +0000 (08:01 +0000)
src/AIModel/AIManager.cxx

index b4019554b31d7bdd679b6a6f6a1e6a1dee0ec5c9..e450f47a29b554ab5fdbcd34dc4412a26d086fa5 100644 (file)
@@ -147,9 +147,14 @@ void FGAIManager::update(double dt) {
                 if ((*ai_list_itr)->getDie()) {      
                    freeID((*ai_list_itr)->getID());
                    delete (*ai_list_itr);
-                   ai_list.erase(ai_list_itr);
-                   --ai_list_itr;
                    --numObjects;
+                   if ( ai_list_itr == ai_list.begin() ) {
+                       ai_list.erase(ai_list_itr);
+                       ai_list_itr = ai_list.begin();
+                       continue;
+                   } else {
+                       ai_list.erase(ai_list_itr--);
+                   }
                 } else {
                    fetchUserState();
                    if ((*ai_list_itr)->isa(FGAIBase::otThermal)) {