Skip to content

Commit 14bc81a

Browse files
authored
Fix bug where a .ese defined runway not in HKCPApproaches.json causes HKCP to crash (#32)
1 parent 32542df commit 14bc81a

File tree

1 file changed

+16
-10
lines changed

1 file changed

+16
-10
lines changed

AT3/AT3Tags.cpp

+16-10
Original file line numberDiff line numberDiff line change
@@ -734,11 +734,14 @@ string AT3Tags::GetAPPDEPLine4(CFlightPlan& FlightPlan, CRadarTarget& RadarTarge
734734
}
735735
}
736736
else if (arptSet.find(FlightPlan.GetFlightPlanData().GetDestination()) != arptSet.end() && strlen(FlightPlan.GetFlightPlanData().GetArrivalRwy()) != 0) {
737-
string app = GetAvailableApps(FlightPlan.GetFlightPlanData().GetDestination(), FlightPlan.GetFlightPlanData().GetArrivalRwy())[0]; //selects default app if no assignment, which is [0]
738-
if (app.find("_") != string::npos) {
739-
lineStr = app.substr(0, app.find("_"));
740-
string spadItem = "/A/" + app + "/A//";
741-
FlightPlan.GetControllerAssignedData().SetFlightStripAnnotation(2, spadItem.c_str());
737+
vector<string> appsVec = GetAvailableApps(FlightPlan.GetFlightPlanData().GetDestination(), FlightPlan.GetFlightPlanData().GetArrivalRwy());
738+
if (appsVec.size() > 0) {
739+
string app = appsVec[0]; //selects default app if no assignment, which is [0]
740+
if (app.find("_") != string::npos) {
741+
lineStr = app.substr(0, app.find("_"));
742+
string spadItem = "/A/" + app + "/A//";
743+
FlightPlan.GetControllerAssignedData().SetFlightStripAnnotation(2, spadItem.c_str());
744+
}
742745
}
743746
}
744747

@@ -769,11 +772,14 @@ string AT3Tags::GetAMCLine4(CFlightPlan& FlightPlan, CRadarTarget& RadarTarget)
769772
}
770773
}
771774
else if (arptSet.find(FlightPlan.GetFlightPlanData().GetDestination()) != arptSet.end() && strlen(FlightPlan.GetFlightPlanData().GetArrivalRwy()) != 0) {
772-
string app = GetAvailableApps(FlightPlan.GetFlightPlanData().GetDestination(), FlightPlan.GetFlightPlanData().GetArrivalRwy())[0]; //selects default app if no assignment, which is [0]
773-
if (app.find("_") != string::npos) {
774-
lineStr = app.substr(0, app.find("_"));
775-
string spadItem = "/A/" + app + "/A//";
776-
FlightPlan.GetControllerAssignedData().SetFlightStripAnnotation(2, spadItem.c_str());
775+
vector<string> appsVec = GetAvailableApps(FlightPlan.GetFlightPlanData().GetDestination(), FlightPlan.GetFlightPlanData().GetArrivalRwy());
776+
if (appsVec.size() > 0) {
777+
string app = appsVec[0]; //selects default app if no assignment, which is [0]
778+
if (app.find("_") != string::npos) {
779+
lineStr = app.substr(0, app.find("_"));
780+
string spadItem = "/A/" + app + "/A//";
781+
FlightPlan.GetControllerAssignedData().SetFlightStripAnnotation(2, spadItem.c_str());
782+
}
777783
}
778784
}
779785

0 commit comments

Comments
 (0)