diff options
-rw-r--r-- | MobileCydia.mm | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/MobileCydia.mm b/MobileCydia.mm index 2c2734d..b8aca93 100644 --- a/MobileCydia.mm +++ b/MobileCydia.mm @@ -6295,6 +6295,7 @@ bool DepSubstrate(const pkgCache::VerIterator &iterator) { NSArray *packages; + reload: if ([self shouldYield]) { do { UIProgressHUD *hud; @@ -6312,12 +6313,15 @@ bool DepSubstrate(const pkgCache::VerIterator &iterator) { if (hud != nil) [delegate_ removeProgressHUD:hud]; } while (reloading_ == 2); - - reloading_ = 0; } else { packages = [self _reloadPackages]; } +@synchronized (database_) { + if (era_ != [database_ era]) + goto reload; + reloading_ = 0; + packages_ = packages; indices_ = [NSMutableDictionary dictionaryWithCapacity:32]; @@ -6403,7 +6407,7 @@ bool DepSubstrate(const pkgCache::VerIterator &iterator) { [(UITableView *) list_ setDataSource:self]; [list_ reloadData]; _end -} +} } - (void) reloadData { [super reloadData]; |