diff --git a/services/abilitymgr/src/mission_info_mgr.cpp b/services/abilitymgr/src/mission_info_mgr.cpp index ed8bbf3ab91548e3be60bb2bad10b0787f1f5fc2..a93288237f8ee77be14f8513ac7a4f5c4e9444c9 100644 --- a/services/abilitymgr/src/mission_info_mgr.cpp +++ b/services/abilitymgr/src/mission_info_mgr.cpp @@ -162,14 +162,16 @@ bool MissionInfoMgr::DeleteAllMissionInfos(const std::shared_ptrmissionInfo.lockedState)) { missionIdMap_.erase(listIter->missionInfo.id); - missionInfoList_.erase(listIter); taskDataPersistenceMgr_->DeleteMissionInfo(listIter->missionInfo.id); if (listenerController) { listenerController->NotifyMissionDestroyed(listIter->missionInfo.id); } + missionInfoList_.erase(listIter++); + } else { + ++listIter; } } return true;