forked from organicmaps/organicmaps
On Bookmarks Lists page, if a User has created a new List along with `My Places` List and then deletes it, the deleted item stays on the List. Now, if the user clicks on the deleted List Item then the app was crashing as the deleted item is unavailable. Root cause of this issue is below - - When a `category` is deleted then `deleteCategory()` of `BookmarkManager` gets called. - The `deleteCategory()` internally calls `nativeDeleteCategory()`. - After a `category` is successfully deleted, then `OnBookmarksChanged()` should be invoked in order to update the List. But this wasn't happening. So deleted category wasn't getting removed from the cached list. Thus the user deleted category was visible even after deletion. - When the user clicked on the deleted `category`, it'll eventually crash as the `category` itself isn't present Fix: Properly notify the UI about the deleted list from BookmarkManager::NotifyChanges() Fixes: #3828 Signed-off-by: Abhishek Bandyopadhyay <abhishek.gnit.ece@gmail.com> Signed-off-by: Alexander Borsuk <me@alex.bio> |
||
---|---|---|
.. | ||
benchmark_tool | ||
extrapolation | ||
extrapolation_benchmark | ||
map_integration_tests | ||
map_tests | ||
mwm_tests | ||
power_management | ||
style_tests | ||
transit | ||
api_mark_point.cpp | ||
api_mark_point.hpp | ||
benchmark_tools.cpp | ||
benchmark_tools.hpp | ||
bookmark.cpp | ||
bookmark.hpp | ||
bookmark_helpers.cpp | ||
bookmark_helpers.hpp | ||
bookmark_manager.cpp | ||
bookmark_manager.hpp | ||
bookmarks_search_params.hpp | ||
chart_generator.cpp | ||
chart_generator.hpp | ||
CMakeLists.txt | ||
elevation_info.cpp | ||
elevation_info.hpp | ||
everywhere_search_callback.cpp | ||
everywhere_search_callback.hpp | ||
everywhere_search_params.hpp | ||
features_fetcher.cpp | ||
features_fetcher.hpp | ||
framework.cpp | ||
framework.hpp | ||
framework_visualize.cpp | ||
gps_track.cpp | ||
gps_track.hpp | ||
gps_track_collection.cpp | ||
gps_track_collection.hpp | ||
gps_track_filter.cpp | ||
gps_track_filter.hpp | ||
gps_track_storage.cpp | ||
gps_track_storage.hpp | ||
gps_tracker.cpp | ||
gps_tracker.hpp | ||
isolines_manager.cpp | ||
isolines_manager.hpp | ||
mwm_tree.hpp | ||
mwm_url.cpp | ||
mwm_url.hpp | ||
osm_opening_hours.hpp | ||
place_page_info.cpp | ||
place_page_info.hpp | ||
position_provider.hpp | ||
routing_manager.cpp | ||
routing_manager.hpp | ||
routing_mark.cpp | ||
routing_mark.hpp | ||
search_api.cpp | ||
search_api.hpp | ||
search_mark.cpp | ||
search_mark.hpp | ||
search_product_info.hpp | ||
track.cpp | ||
track.hpp | ||
track_mark.cpp | ||
track_mark.hpp | ||
traffic_manager.cpp | ||
traffic_manager.hpp | ||
user_mark.cpp | ||
user_mark.hpp | ||
user_mark_id_storage.cpp | ||
user_mark_id_storage.hpp | ||
user_mark_layer.cpp | ||
user_mark_layer.hpp | ||
viewport_search_callback.cpp | ||
viewport_search_callback.hpp | ||
viewport_search_params.hpp |