From 2e1bffa01dced75c2b4aaa9dc421738354cef260 Mon Sep 17 00:00:00 2001 From: Daria Volvenkova Date: Fri, 20 Apr 2018 17:45:57 +0300 Subject: [PATCH] Do not save bookmarks while migration is in progress. --- map/bookmark_manager.cpp | 11 ++++++++++- map/bookmark_manager.hpp | 1 + 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/map/bookmark_manager.cpp b/map/bookmark_manager.cpp index f0bef32e33..5a0149b636 100644 --- a/map/bookmark_manager.cpp +++ b/map/bookmark_manager.cpp @@ -838,7 +838,8 @@ void BookmarkManager::LoadBookmarks() CHECK_THREAD_CHECKER(m_threadChecker, ()); ClearCategories(); m_loadBookmarksFinished = false; - + if (!IsMigrated()) + m_migrationInProgress = true; NotifyAboutStartAsyncLoading(); GetPlatform().RunTask(Platform::Thread::File, [this]() { @@ -946,6 +947,11 @@ void BookmarkManager::NotifyAboutFinishAsyncLoading(KMLDataCollectionPtr && coll GetPlatform().RunTask(Platform::Thread::Gui, [this, collection]() { + if (m_migrationInProgress) + { + m_migrationInProgress = false; + SaveBookmarks(m_bmGroupsIdList); + } if (!collection->empty()) { CreateCategories(std::move(*collection)); @@ -1467,6 +1473,9 @@ void BookmarkManager::SaveBookmarks(kml::GroupIdCollection const & groupIdCollec { CHECK_THREAD_CHECKER(m_threadChecker, ()); + if (m_migrationInProgress) + return; + auto kmlDataCollection = PrepareToSaveBookmarks(groupIdCollection); if (!kmlDataCollection) return; diff --git a/map/bookmark_manager.hpp b/map/bookmark_manager.hpp index bd2dcb023e..7a939f02c9 100644 --- a/map/bookmark_manager.hpp +++ b/map/bookmark_manager.hpp @@ -451,6 +451,7 @@ private: bool m_loadBookmarksFinished = false; bool m_firstDrapeNotification = false; bool m_restoreApplying = false; + bool m_migrationInProgress = false; bool m_conversionInProgress = false; ScreenBase m_viewport;