diff --git a/map/bookmark.cpp b/map/bookmark.cpp index b1693910d4..271a9608ec 100644 --- a/map/bookmark.cpp +++ b/map/bookmark.cpp @@ -214,3 +214,9 @@ kml::PredefinedColor BookmarkCategory::GetDefaultColor() { return kml::PredefinedColor::Red; } + +void BookmarkCategory::SetDirty() +{ + Base::SetDirty(); + m_data.m_lastModified = std::chrono::system_clock::now(); +} diff --git a/map/bookmark.hpp b/map/bookmark.hpp index a148c79d1b..fd14b3dae3 100644 --- a/map/bookmark.hpp +++ b/map/bookmark.hpp @@ -84,6 +84,8 @@ public: kml::CategoryData const & GetCategoryData() const { return m_data; } private: + void SetDirty() override; + // Stores file name from which bookmarks were loaded. std::string m_file; bool m_autoSave = true; diff --git a/map/user_mark_layer.cpp b/map/user_mark_layer.cpp index adf1e6cc39..0a8255cda2 100644 --- a/map/user_mark_layer.cpp +++ b/map/user_mark_layer.cpp @@ -50,7 +50,7 @@ bool UserMarkLayer::IsEmpty() const void UserMarkLayer::SetIsVisible(bool isVisible) { - if (IsVisible() != isVisible) + if (m_isVisible != isVisible) { SetDirty(); m_isVisible = isVisible; diff --git a/map/user_mark_layer.hpp b/map/user_mark_layer.hpp index 81f09b2126..626c44cc89 100644 --- a/map/user_mark_layer.hpp +++ b/map/user_mark_layer.hpp @@ -42,7 +42,7 @@ public: virtual void SetIsVisible(bool isVisible); protected: - void SetDirty() { m_isDirty = true; } + virtual void SetDirty() { m_isDirty = true; } UserMark::Type m_type;