From dd4e70dc2d92c8e83eed540771ae0c7d57d2b4ef Mon Sep 17 00:00:00 2001 From: "Jay Freeman (saurik)" Date: Sat, 17 May 2014 15:08:32 -0700 Subject: [PATCH] Sorting packages also requires the database lock. --- MobileCydia.mm | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/MobileCydia.mm b/MobileCydia.mm index 586a54e5..8f440f5a 100644 --- a/MobileCydia.mm +++ b/MobileCydia.mm @@ -6606,16 +6606,14 @@ typedef Function PackageSorter; } } - (NSMutableArray *) _reloadPackages { - NSMutableArray *filtered; - PackageSorter sorter; - @synchronized (database_) { era_ = [database_ era]; - NSArray *packages([database_ packages]); - filtered = [NSMutableArray arrayWithCapacity:[packages count]]; + NSArray *packages([database_ packages]); + NSMutableArray *filtered([NSMutableArray arrayWithCapacity:[packages count]]); PackageFilter filter; + PackageSorter sorter; @synchronized (self) { filter = filter_; @@ -6627,12 +6625,11 @@ typedef Function PackageSorter; if ([package valid] && filter(package)) [filtered addObject:package]; _end -} if (sorter) sorter(filtered); return filtered; -} +} } - (id) initWithDatabase:(Database *)database title:(NSString *)title filter:(PackageFilter)filter { if ((self = [super initWithDatabase:database title:title]) != nil) { -- 2.47.2