diff --git a/src/MissionManager/MissionController.cc b/src/MissionManager/MissionController.cc index 55d5c81961378d12cb8515c28ee0b708f1bc0568..0b4d6b4c053ece231e294f9663833642668380f1 100644 --- a/src/MissionManager/MissionController.cc +++ b/src/MissionManager/MissionController.cc @@ -598,6 +598,16 @@ void MissionController::removeMissionItem(int viIndex) } _recalcAll(); + + // Adjust current item + int newVIIndex; + if (viIndex >= _visualItems->count()) { + newVIIndex = _visualItems->count() - 1; + } else { + newVIIndex = viIndex; + } + setCurrentPlanViewSeqNum(_visualItems->value(newVIIndex)->sequenceNumber(), true); + setDirty(true); } diff --git a/src/PlanView/PlanView.qml b/src/PlanView/PlanView.qml index 372a042a3d4a219fa651b4b518d7fa78da4fb1ba..4388433f7a35a4d473198638cda32ccd1b6e8dce 100644 --- a/src/PlanView/PlanView.qml +++ b/src/PlanView/PlanView.qml @@ -846,12 +846,11 @@ Item { readOnly: false onClicked: _missionController.setCurrentPlanViewSeqNum(object.sequenceNumber, false) onRemove: { - var removeIndex = index - _missionController.removeMissionItem(removeIndex) - if (removeIndex >= _missionController.visualItems.count) { - removeIndex-- + var removeVIIndex = index + _missionController.removeMissionItem(removeVIIndex) + if (removeVIIndex >= _missionController.visualItems.count) { + removeVIIndex-- } - _missionController.setCurrentPlanViewSeqNum(removeIndex, true) } onSelectNextNotReadyItem: selectNextNotReady() }