Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mapsme/omim.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorr.kuznetsov <r.kuznetsov@corp.mail.ru>2018-08-16 10:50:56 +0300
committerDaria Volvenkova <d.volvenkova@corp.mail.ru>2018-08-16 13:04:01 +0300
commit681e700e4d0469303ac5571704bd4fbb6bc8e595 (patch)
tree1a7dc78b408887bd3dc347fe6294d709ca44fbb2 /map/bookmark_manager.cpp
parente7c03032872ed07c8b3aebb5a7c2016d583e56ea (diff)
Fixed registration KML in the catalog
Diffstat (limited to 'map/bookmark_manager.cpp')
-rw-r--r--map/bookmark_manager.cpp16
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 */);
});