diff options
author | r.kuznetsov <r.kuznetsov@corp.mail.ru> | 2018-08-16 10:50:56 +0300 |
---|---|---|
committer | Daria Volvenkova <d.volvenkova@corp.mail.ru> | 2018-08-16 13:04:01 +0300 |
commit | 681e700e4d0469303ac5571704bd4fbb6bc8e595 (patch) | |
tree | 1a7dc78b408887bd3dc347fe6294d709ca44fbb2 /map/bookmark_manager.cpp | |
parent | e7c03032872ed07c8b3aebb5a7c2016d583e56ea (diff) |
Fixed registration KML in the catalog
Diffstat (limited to 'map/bookmark_manager.cpp')
-rw-r--r-- | map/bookmark_manager.cpp | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/map/bookmark_manager.cpp b/map/bookmark_manager.cpp index 0547bbab2d..9ffae48e64 100644 --- a/map/bookmark_manager.cpp +++ b/map/bookmark_manager.cpp @@ -483,7 +483,6 @@ BookmarkManager::BookmarkManager(User & user, Callbacks && callbacks) GetBookmarksDirectory(), std::string(kKmbExtension), std::bind(&ConvertBeforeUploading, _1, _2), std::bind(&ConvertAfterDownloading, _1, _2))) - , m_bookmarkCatalog(GetPrivateBookmarksDirectory()) { ASSERT(m_callbacks.m_getStringsBundle != nullptr, ()); @@ -1405,7 +1404,7 @@ bool BookmarkManager::DeleteBmCategory(kml::MarkGroupId groupId) m_changesTracker.OnDeleteGroup(groupId); FileWriter::DeleteFileX(it->second->GetFileName()); - m_bookmarkCatalog.UnregisterDownloadedId(it->second->GetServerId()); + m_bookmarkCatalog.UnregisterByServerId(it->second->GetServerId()); m_categories.erase(it); UpdateBmGroupIdList(); @@ -1497,7 +1496,7 @@ void BookmarkManager::CreateCategories(KMLDataCollection && dataCollection, bool auto & categoryData = fileData.m_categoryData; if (FromCatalog(fileData)) - m_bookmarkCatalog.RegisterDownloadedId(fileData.m_serverId); + m_bookmarkCatalog.RegisterByServerId(fileData.m_serverId); if (!UserMarkIdStorage::Instance().CheckIds(fileData) || HasDuplicatedIds(fileData)) { @@ -2130,9 +2129,18 @@ void BookmarkManager::ImportDownloadedFromCatalog(std::string const & id, std::s } else { + if (!kmlData) + { + LOG(LERROR, ("Malformed KML from the catalog")); + } + else + { + LOG(LERROR, ("KML from the catalog is invalid. Server ID =", kmlData->m_serverId, + "Expected server ID =", id, "Access Rules =", kmlData->m_categoryData.m_accessRules)); + } + GetPlatform().RunTask(Platform::Thread::Gui, [this, id] { - m_bookmarkCatalog.UnregisterDownloadedId(id); if (m_onCatalogImportFinished) m_onCatalogImportFinished(id, kml::kInvalidMarkGroupId, false /* successful */); }); |