From c8416a227d5a22cd4d5511c26a599d7541ad3db7 Mon Sep 17 00:00:00 2001 From: Don Gagne Date: Tue, 22 Aug 2017 21:03:31 -0700 Subject: [PATCH] Resume Mission: Fix up sequence numbers and current item --- src/MissionManager/MissionManager.cc | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/MissionManager/MissionManager.cc b/src/MissionManager/MissionManager.cc index f027f2d85..ae18e8f9a 100644 --- a/src/MissionManager/MissionManager.cc +++ b/src/MissionManager/MissionManager.cc @@ -1006,7 +1006,6 @@ void MissionManager::generateResumeMission(int resumeIndex) } resumeIndex = qMax(0, resumeIndex); - int seqNum = 0; QList resumeMission; QList includedResumeCommands; @@ -1029,7 +1028,6 @@ void MissionManager::generateResumeMission(int resumeIndex) << MAV_CMD_NAV_TAKEOFF; bool addHomePosition = _vehicle->firmwarePlugin()->sendHomePositionToVehicle(); - int setCurrentIndex = addHomePosition ? 1 : 0; int prefixCommandCount = 0; for (int i=0; i<_missionItems.count(); i++) { @@ -1039,8 +1037,7 @@ void MissionManager::generateResumeMission(int resumeIndex) prefixCommandCount++; } MissionItem* newItem = new MissionItem(*oldItem, this); - newItem->setIsCurrentItem( i == setCurrentIndex); - newItem->setSequenceNumber(seqNum++); + newItem->setIsCurrentItem(false); resumeMission.append(newItem); } } @@ -1096,6 +1093,14 @@ void MissionManager::generateResumeMission(int resumeIndex) prefixCommandCount--; } + // Adjust sequence numbers and current item + int seqNum = 0; + for (int i=0; isetSequenceNumber(seqNum++); + } + int setCurrentIndex = addHomePosition ? 1 : 0; + resumeMission[setCurrentIndex]->setIsCurrentItem(true); + // Send to vehicle _clearAndDeleteWriteMissionItems(); for (int i=0; i