From: Jay Freeman (saurik) Date: Sat, 17 May 2014 22:08:32 +0000 (-0700) Subject: Sorting packages also requires the database lock. X-Git-Tag: v1.1.10~56 X-Git-Url: https://git.saurik.com/cydia.git/commitdiff_plain/dd4e70dc2d92c8e83eed540771ae0c7d57d2b4ef Sorting packages also requires the database lock. --- 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) {