From b648b71671b1275fea2d55970751e11e26609583 Mon Sep 17 00:00:00 2001 From: Durk Talsma Date: Fri, 30 Dec 2011 15:27:21 +0100 Subject: [PATCH] Fix for issue: 520: Error in FGTrafficRecord::setPositionAndIntentions. --- src/ATC/trafficcontrol.cxx | 22 ++++++---------------- 1 file changed, 6 insertions(+), 16 deletions(-) diff --git a/src/ATC/trafficcontrol.cxx b/src/ATC/trafficcontrol.cxx index 1ba285f15..b919b0830 100644 --- a/src/ATC/trafficcontrol.cxx +++ b/src/ATC/trafficcontrol.cxx @@ -48,6 +48,7 @@ #include #include #include +#include using std::sort; @@ -186,16 +187,11 @@ void FGTrafficRecord::setPositionAndIntentions(int pos, if (intentions.size()) { intVecIterator i = intentions.begin(); if ((*i) != pos) { - SG_LOG(SG_ATC, SG_ALERT, - "Error in FGTrafficRecord::setPositionAndIntentions at " << SG_ORIGIN); - cerr << "Pos : " << pos << " Curr " << *(intentions.begin()) << endl; - for (intVecIterator i = intentions.begin(); - i != intentions.end(); i++) { - cerr << (*i) << " "; - } - cerr << endl; + SG_LOG(SG_ATC, SG_INFO, + "Skipping repeated intention in FGTrafficRecord::setPositionAndIntentions at " << SG_ORIGIN); + } else { + intentions.erase(i); } - intentions.erase(i); } else { //FGAIFlightPlan::waypoint* const wpt= route->getCurrentWaypoint(); int size = route->getNrOfWayPoints(); @@ -204,18 +200,12 @@ void FGTrafficRecord::setPositionAndIntentions(int pos, for (int i = 0; i < size; i++) { int val = route->getRouteIndex(i); //cerr << val<< " "; - if ((val) && (val != pos)) { + if ((val) && (val != pos)) { // NOTE THAAT THERES A PROBLEM WITH REPEATED INTENSIONS HERE. intentions.push_back(val); //cerr << "[set] "; } } - //cerr << endl; - //while (route->next(&legNr, &routeNr)) { - //intentions.push_back(routeNr); - //} - //route->rewind(currentPos); } - //exit(1); } /** * Check if another aircraft is ahead of the current one, and on the same -- 2.39.2