]> git.mxchange.org Git - flightgear.git/commitdiff
Modified Files:
authorfrohlich <frohlich>
Sun, 28 Jan 2007 20:02:49 +0000 (20:02 +0000)
committerfrohlich <frohlich>
Sun, 28 Jan 2007 20:02:49 +0000 (20:02 +0000)
src/Scripting/NasalSys.cxx: make sure iterators stay valid

src/Scripting/NasalSys.cxx

index 9c79b94203e110ff8c0e0da75c83f276cd043b93..9e4a75ad1a8d3cc238b9951d85e13c75a8b6ae94 100644 (file)
@@ -433,12 +433,14 @@ void FGNasalSys::update(double)
 {
     if(_purgeListeners) {
         _purgeListeners = false;
-        map<int, FGNasalListener *>::iterator it, end = _listener.end();
-        for(it = _listener.end(); --it != end;) {
+        map<int, FGNasalListener *>::iterator it;
+        for(it = _listener.end(); it != _listener.end();) {
             FGNasalListener *nl = it->second;
             if(nl->_dead) {
-                _listener.erase(it);
+                _listener.erase(it--);
                 delete nl;
+            } else {
+              --it;
             }
         }
     }