diff --git a/iphone/Maps/Classes/MapViewController.mm b/iphone/Maps/Classes/MapViewController.mm index 5594cc7f20..a794f1e0fa 100644 --- a/iphone/Maps/Classes/MapViewController.mm +++ b/iphone/Maps/Classes/MapViewController.mm @@ -267,9 +267,7 @@ { if (self.searchView.state != SearchViewStateFullscreen) { - // This function will take ownership for the passed user mark pointer. - [self.containerView.placePage showUserMark:mark.release()]; - + [self.containerView.placePage showUserMark:std::move(mark)]; [self.containerView.placePage setState:PlacePageStatePreview animated:YES withCallback:YES]; } } @@ -1128,9 +1126,7 @@ BookmarkCategory const * category = GetFramework().GetBookmarkManager().GetBmCategory(bookmarkAndCategory.first); Bookmark const * bookmark = category->GetBookmark(bookmarkAndCategory.second); - // This function will take ownership for the passed user mark pointer. - [self.containerView.placePage showUserMark:bookmark->Copy().release()]; - + [self.containerView.placePage showUserMark:bookmark->Copy()]; [self.containerView.placePage setState:self.containerView.placePage.state animated:YES withCallback:NO]; } diff --git a/iphone/Maps/Classes/PlacePageView.h b/iphone/Maps/Classes/PlacePageView.h index 3d5b3a60dd..495aafb6de 100644 --- a/iphone/Maps/Classes/PlacePageView.h +++ b/iphone/Maps/Classes/PlacePageView.h @@ -26,7 +26,7 @@ typedef NS_ENUM(NSUInteger, PlacePageState) { @interface PlacePageView : SolidTouchView -- (void)showUserMark:(UserMarkCopy *)mark; +- (void)showUserMark:(unique_ptr &&)mark; - (void)setState:(PlacePageState)state animated:(BOOL)animated withCallback:(BOOL)withCallback; @property (nonatomic, readonly) PlacePageState state; diff --git a/iphone/Maps/Classes/PlacePageView.mm b/iphone/Maps/Classes/PlacePageView.mm index 08108815b8..a607d4550c 100644 --- a/iphone/Maps/Classes/PlacePageView.mm +++ b/iphone/Maps/Classes/PlacePageView.mm @@ -787,12 +787,12 @@ typedef NS_ENUM(NSUInteger, CellRow) webViewIsLoaded = NO; } -- (void)showUserMark:(UserMarkCopy *)mark +- (void)showUserMark:(unique_ptr &&)mark { [self clearCachedProperties]; self.temporaryTitle = nil; - m_mark.reset(mark); + m_mark.reset(mark.release()); m_cachedMark = m_mark; UserMark const * innerMark = [self userMark];