From e1b8aef1d4b078af9027410245ddca1bc62701bd Mon Sep 17 00:00:00 2001 From: Viktor Govako Date: Sun, 20 Mar 2022 15:06:45 +0300 Subject: [PATCH] [iOS] Fixed crash when deleting bookmark from edit view. Signed-off-by: Viktor Govako --- iphone/CoreApi/CoreApi/Framework/MWMFrameworkHelper.h | 1 + iphone/CoreApi/CoreApi/Framework/MWMFrameworkHelper.mm | 8 ++++++++ .../Maps/UI/EditBookmark/EditBookmarkViewController.swift | 2 +- .../UI/PlacePage/PlacePageManager/MWMPlacePageManager.mm | 7 ++----- 4 files changed, 12 insertions(+), 6 deletions(-) diff --git a/iphone/CoreApi/CoreApi/Framework/MWMFrameworkHelper.h b/iphone/CoreApi/CoreApi/Framework/MWMFrameworkHelper.h index de0456721b..1643a1b32f 100644 --- a/iphone/CoreApi/CoreApi/Framework/MWMFrameworkHelper.h +++ b/iphone/CoreApi/CoreApi/Framework/MWMFrameworkHelper.h @@ -38,6 +38,7 @@ NS_SWIFT_NAME(FrameworkHelper) + (void)showBookmark:(MWMMarkID)bookmarkId; + (void)showTrack:(MWMTrackID)trackId; + (void)updatePlacePageData; ++ (void)updateAfterDeleteBookmark; @end diff --git a/iphone/CoreApi/CoreApi/Framework/MWMFrameworkHelper.mm b/iphone/CoreApi/CoreApi/Framework/MWMFrameworkHelper.mm index 20a9609d67..89b806d0c3 100644 --- a/iphone/CoreApi/CoreApi/Framework/MWMFrameworkHelper.mm +++ b/iphone/CoreApi/CoreApi/Framework/MWMFrameworkHelper.mm @@ -164,4 +164,12 @@ GetFramework().UpdatePlacePageInfoForCurrentSelection(); } ++ (void)updateAfterDeleteBookmark { + auto & frm = GetFramework(); + auto buildInfo = frm.GetCurrentPlacePageInfo().GetBuildInfo(); + buildInfo.m_match = place_page::BuildInfo::Match::FeatureOnly; + buildInfo.m_userMarkId = kml::kInvalidMarkId; + buildInfo.m_source = place_page::BuildInfo::Source::Other; + frm.UpdatePlacePageInfoForCurrentSelection(buildInfo); +} @end diff --git a/iphone/Maps/UI/EditBookmark/EditBookmarkViewController.swift b/iphone/Maps/UI/EditBookmark/EditBookmarkViewController.swift index 90f474a6e5..82c6c1c11a 100644 --- a/iphone/Maps/UI/EditBookmark/EditBookmarkViewController.swift +++ b/iphone/Maps/UI/EditBookmark/EditBookmarkViewController.swift @@ -197,7 +197,7 @@ extension EditBookmarkViewController: MWMButtonCellDelegate { func cellDidPressButton(_ cell: UITableViewCell) { BookmarksManager.shared().deleteBookmark(bookmarkId) if let placePageData = placePageData { - FrameworkHelper.updatePlacePageData() + FrameworkHelper.updateAfterDeleteBookmark() placePageData.updateBookmarkStatus() } goBack() diff --git a/iphone/Maps/UI/PlacePage/PlacePageManager/MWMPlacePageManager.mm b/iphone/Maps/UI/PlacePage/PlacePageManager/MWMPlacePageManager.mm index 1a8160762b..e65388a861 100644 --- a/iphone/Maps/UI/PlacePage/PlacePageManager/MWMPlacePageManager.mm +++ b/iphone/Maps/UI/PlacePage/PlacePageManager/MWMPlacePageManager.mm @@ -187,11 +187,8 @@ using namespace storage; auto &f = GetFramework(); f.GetBookmarkManager().GetEditSession().DeleteBookmark(data.bookmarkData.bookmarkId); - auto buildInfo = f.GetCurrentPlacePageInfo().GetBuildInfo(); - buildInfo.m_match = place_page::BuildInfo::Match::FeatureOnly; - buildInfo.m_userMarkId = kml::kInvalidMarkId; - buildInfo.m_source = place_page::BuildInfo::Source::Other; - f.UpdatePlacePageInfoForCurrentSelection(buildInfo); + [MWMFrameworkHelper updateAfterDeleteBookmark]; + [data updateBookmarkStatus]; }