diff --git a/src/MissionManager/MissionCommandTree.cc b/src/MissionManager/MissionCommandTree.cc index d1e537c..b77f8b7 100644 --- a/src/MissionManager/MissionCommandTree.cc +++ b/src/MissionManager/MissionCommandTree.cc @@ -223,11 +223,15 @@ QVariantList MissionCommandTree::getCommandsForCategory(Vehicle* vehicle, const { MAV_AUTOPILOT baseFirmwareType; MAV_TYPE baseVehicleType; - QList supportedCommands = vehicle->firmwarePlugin()->supportedMissionCommands(); _baseVehicleInfo(vehicle, baseFirmwareType, baseVehicleType); _buildAllCommands(vehicle); + // vehicle can be null in which case _baseVehicleInfo will tell of the firmware/vehicle type for the offline editing vehicle. + // We then use that to get a firmware plugin so we can get the list of supported commands. + FirmwarePlugin* firmwarePlugin = qgcApp()->toolbox()->firmwarePluginManager()->firmwarePluginForAutopilot(baseFirmwareType, baseVehicleType); + QList supportedCommands = firmwarePlugin->supportedMissionCommands(); + QVariantList list; QMap commandMap = _allCommands[baseFirmwareType][baseVehicleType]; for (MAV_CMD command: commandMap.keys()) {