]> git.saurik.com Git - cydia.git/blobdiff - MobileCydia.mm
Sorting packages also requires the database lock.
[cydia.git] / MobileCydia.mm
index 586a54e596b77cea72f2f234a680e8ba997310ad..8f440f5aaa3bc71c1343fcc9c208b68a9db06936 100644 (file)
@@ -6606,16 +6606,14 @@ typedef Function<void, NSMutableArray *> 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<void, NSMutableArray *> 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) {