From b73bd53744a41615ec9a47d23bd8ac4b09f55e17 Mon Sep 17 00:00:00 2001 From: mfranz Date: Sun, 28 Jan 2007 22:55:37 +0000 Subject: [PATCH] this should now really be correct; nothing for a beauty contest, though --- src/Scripting/NasalSys.cxx | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/Scripting/NasalSys.cxx b/src/Scripting/NasalSys.cxx index f4d6a5db3..68119ed28 100644 --- a/src/Scripting/NasalSys.cxx +++ b/src/Scripting/NasalSys.cxx @@ -433,11 +433,13 @@ void FGNasalSys::update(double) { if(_purgeListeners) { _purgeListeners = false; - map::iterator it; - for(it = _listener.end(); --it != _listener.end();) { - FGNasalListener *nl = it->second; + map::reverse_iterator it, eit; + map::reverse_iterator end = _listener.rend(); + for(it = _listener.rbegin(); it != end; ) { + eit = it++; + FGNasalListener *nl = eit->second; if(nl->_dead) { - _listener.erase(it); + _listener.erase((++eit).base()); delete nl; } } -- 2.39.2