diff --git a/src/modules/navigator/mission.cpp b/src/modules/navigator/mission.cpp index 9899d751f2..06b4151bdb 100644 --- a/src/modules/navigator/mission.cpp +++ b/src/modules/navigator/mission.cpp @@ -86,6 +86,8 @@ Mission::on_activation() { _need_mission_save = true; + check_mission_valid(true); + MissionBase::on_activation(); } diff --git a/src/modules/navigator/mission_base.cpp b/src/modules/navigator/mission_base.cpp index 495639ba33..4a376995a0 100644 --- a/src/modules/navigator/mission_base.cpp +++ b/src/modules/navigator/mission_base.cpp @@ -207,8 +207,6 @@ MissionBase::on_activation() _mission_has_been_activated = true; _system_disarmed_while_inactive = false; - check_mission_valid(true); - update_mission(); // reset the cache and fill it with the items up to the previous item. The cache contains diff --git a/src/modules/navigator/mission_base.h b/src/modules/navigator/mission_base.h index 117e811a0f..7f234bb7d2 100644 --- a/src/modules/navigator/mission_base.h +++ b/src/modules/navigator/mission_base.h @@ -215,6 +215,12 @@ protected: */ bool isMissionValid() const; + /** + * @brief Check whether a mission is ready to go + * @param[in] forced flag if the check has to be run irregardles of any updates. + */ + void check_mission_valid(bool forced = false); + /** * On mission update * Change behaviour after external mission update. @@ -344,12 +350,6 @@ private: */ void updateMavlinkMission(); - /** - * @brief Check whether a mission is ready to go - * @param[in] forced flag if the check has to be run irregardles of any updates. - */ - void check_mission_valid(bool forced = false); - /** * Reset mission */