]> git.saurik.com Git - cydia.git/commitdiff
Re-verify shouldBlock during _reloadPackages: loop.
authorJay Freeman (saurik) <saurik@saurik.com>
Mon, 7 Mar 2011 18:04:10 +0000 (10:04 -0800)
committerJay Freeman (saurik) <saurik@saurik.com>
Tue, 8 Mar 2011 09:50:05 +0000 (01:50 -0800)
MobileCydia.mm

index 985ed0db487c64727ef7c28c48eef81599afb7a3..94f783ad02a61f9a34e7c9014f4e1fdce035976f 100644 (file)
@@ -5857,24 +5857,24 @@ bool DepSubstrate(const pkgCache::VerIterator &iterator) {
     NSArray *packages = [database_ packages];
 
     if ([self shouldYield]) {
-        UIProgressHUD *hud;
+        do {
+            UIProgressHUD *hud;
 
-        if (![self shouldBlock])
-            hud = nil;
-        else {
-            hud = [delegate_ addProgressHUD];
-            [hud setText:UCLocalize("LOADING")];
-        }
+            if (![self shouldBlock])
+                hud = nil;
+            else {
+                hud = [delegate_ addProgressHUD];
+                [hud setText:UCLocalize("LOADING")];
+            }
 
-        do {
             reloading_ = 1;
             packages_ = [self yieldToSelector:@selector(_reloadPackages:) withObject:packages];
+
+            if (hud != nil)
+                [delegate_ removeProgressHUD:hud];
         } while (reloading_ == 2);
 
         reloading_ = 0;
-
-        if (hud != nil)
-            [delegate_ removeProgressHUD:hud];
     } else {
         packages_ = [self _reloadPackages:packages];
     }