diff --git a/src/AutoPilotPlugins/PX4/AirframeComponentController.cc b/src/AutoPilotPlugins/PX4/AirframeComponentController.cc index 09cf480823eb8887721f1f84bb23b73214da25de..296669ac91b9a2c1b439c27a544fcfc3bd3f24a0 100644 --- a/src/AutoPilotPlugins/PX4/AirframeComponentController.cc +++ b/src/AutoPilotPlugins/PX4/AirframeComponentController.cc @@ -58,13 +58,19 @@ AirframeComponentController::AirframeComponentController(void) : bool autostartFound = false; _autostartId = getParameterFact(FactSystem::defaultComponentId, "SYS_AUTOSTART")->value().toInt(); + + - for (const AirframeComponentAirframes::AirframeType_t* pType=&AirframeComponentAirframes::rgAirframeTypes[0]; pType->name != NULL; pType++) { + for (unsigned tindex = 0; tindex < AirframeComponentAirframes::rgAirframeTypes.count(); tindex++) { + + const AirframeComponentAirframes::AirframeType_t* pType = &AirframeComponentAirframes::rgAirframeTypes.values().at(tindex); + AirframeType* airframeType = new AirframeType(pType->name, pType->imageResource, this); Q_CHECK_PTR(airframeType); - - int index = 0; - for (const AirframeComponentAirframes::AirframeInfo_t* pInfo=&pType->rgAirframeInfo[0]; pInfo->name != NULL; pInfo++) { + + for (unsigned index = 0; index < pType->rgAirframeInfo.count(); index++) { + const AirframeComponentAirframes::AirframeInfo_t* pInfo = &pType->rgAirframeInfo.at(index); + if (_autostartId == pInfo->autostartId) { Q_ASSERT(!autostartFound); autostartFound = true; @@ -73,7 +79,6 @@ AirframeComponentController::AirframeComponentController(void) : _currentVehicleIndex = index; } airframeType->addAirframe(pInfo->name, pInfo->autostartId); - index++; } _airframeTypes.append(QVariant::fromValue(airframeType));