From 280ad574e5fa6c540d8a8291e0ca32e796b7fe77 Mon Sep 17 00:00:00 2001 From: vng Date: Thu, 12 Mar 2015 12:24:52 +0300 Subject: [PATCH] [iOS] Compilation fix. --- iphone/Maps/Classes/MapViewController.mm | 13 +++++++++---- iphone/Maps/Classes/PlacePageView.mm | 5 +++-- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/iphone/Maps/Classes/MapViewController.mm b/iphone/Maps/Classes/MapViewController.mm index 1590026e2a..66f8b38411 100644 --- a/iphone/Maps/Classes/MapViewController.mm +++ b/iphone/Maps/Classes/MapViewController.mm @@ -255,11 +255,13 @@ [self.containerView.placePage setState:PlacePageStateHidden animated:YES withCallback:YES]; } -- (void)onUserMarkClicked:(UserMarkCopy *)mark +- (void)onUserMarkClicked:(unique_ptr)mark { if (self.searchView.state != SearchViewStateFullscreen) { - [self.containerView.placePage showUserMark:mark]; + // This function will take ownership for the passed user mark pointer. + [self.containerView.placePage showUserMark:mark.release()]; + [self.containerView.placePage setState:PlacePageStatePreview animated:YES withCallback:YES]; } } @@ -658,7 +660,7 @@ { Framework & f = GetFramework(); - typedef void (*UserMarkActivatedFnT)(id, SEL, UserMarkCopy *); + typedef void (*UserMarkActivatedFnT)(id, SEL, unique_ptr); typedef void (*PlacePageDismissedFnT)(id, SEL); PinClickManager & manager = f.GetBalloonManager(); @@ -1102,7 +1104,10 @@ { BookmarkCategory const * category = GetFramework().GetBookmarkManager().GetBmCategory(bookmarkAndCategory.first); Bookmark const * bookmark = category->GetBookmark(bookmarkAndCategory.second); - [self.containerView.placePage showUserMark:bookmark->Copy()]; + + // This function will take ownership for the passed user mark pointer. + [self.containerView.placePage showUserMark:bookmark->Copy().release()]; + [self.containerView.placePage setState:self.containerView.placePage.state animated:YES withCallback:NO]; } diff --git a/iphone/Maps/Classes/PlacePageView.mm b/iphone/Maps/Classes/PlacePageView.mm index 1a44dadca0..fc3eaa5bb5 100644 --- a/iphone/Maps/Classes/PlacePageView.mm +++ b/iphone/Maps/Classes/PlacePageView.mm @@ -1058,7 +1058,7 @@ typedef NS_ENUM(NSUInteger, CellRow) } size_t const bookmarkIndex = framework.GetBookmarkManager().AddBookmark(m_categoryIndex, [self pinPoint], *m_bookmarkData); - m_mark.reset(category->GetBookmark(bookmarkIndex)->Copy()); + m_mark = category->GetBookmark(bookmarkIndex)->Copy(); } else { @@ -1066,8 +1066,9 @@ typedef NS_ENUM(NSUInteger, CellRow) BookmarkData data = BookmarkData([[self newBookmarkName] UTF8String], framework.LastEditedBMType()); size_t const bookmarkIndex = framework.AddBookmark(categoryIndex, [self pinPoint], data); BookmarkCategory const * category = framework.GetBmCategory(categoryIndex); - m_mark.reset(category->GetBookmark(bookmarkIndex)->Copy()); + m_mark = category->GetBookmark(bookmarkIndex)->Copy(); } + framework.ActivateUserMark([self userMark]); framework.Invalidate();