From: Jay Freeman (saurik) Date: Mon, 7 Mar 2011 18:04:10 +0000 (-0800) Subject: Re-verify shouldBlock during _reloadPackages: loop. X-Git-Tag: v1.1.0%b1~18 X-Git-Url: https://git.saurik.com/cydia.git/commitdiff_plain/bec28dda8282d59d90e469a463ba9cfe1f57b37d Re-verify shouldBlock during _reloadPackages: loop. --- diff --git a/MobileCydia.mm b/MobileCydia.mm index 985ed0db..94f783ad 100644 --- a/MobileCydia.mm +++ b/MobileCydia.mm @@ -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]; }