From ec72faa7891a24795c9b040076de829642be043d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Minh=20Nguye=CC=82=CC=83n?= Date: Sat, 26 Mar 2016 14:12:37 -0700 Subject: [PATCH] [ios, osx] Invalidate packs upon reload --- platform/darwin/src/MGLOfflinePack_Private.h | 2 +- platform/darwin/src/MGLOfflineStorage.mm | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/platform/darwin/src/MGLOfflinePack_Private.h b/platform/darwin/src/MGLOfflinePack_Private.h index 4a121af8a..0e9265540 100644 --- a/platform/darwin/src/MGLOfflinePack_Private.h +++ b/platform/darwin/src/MGLOfflinePack_Private.h @@ -33,7 +33,7 @@ NS_ASSUME_NONNULL_BEGIN /** Invalidates the pack and ensures that no future progress update can ever - revalidate it. + revalidate it. This method must be called before the pack is deallocated. */ - (void)invalidate; diff --git a/platform/darwin/src/MGLOfflineStorage.mm b/platform/darwin/src/MGLOfflineStorage.mm index 4e69ba211..c4c57224d 100644 --- a/platform/darwin/src/MGLOfflineStorage.mm +++ b/platform/darwin/src/MGLOfflineStorage.mm @@ -195,6 +195,9 @@ NSString * const MGLOfflinePackMaximumCountUserInfoKey = @"MaximumCount"; - (void)reloadPacks { [self getPacksWithCompletionHandler:^(NS_ARRAY_OF(MGLOfflinePack *) *packs, __unused NSError * _Nullable error) { + for (MGLOfflinePack *pack in self.packs) { + [pack invalidate]; + } self.packs = [packs mutableCopy]; for (MGLOfflinePack *pack in packs) {