]> git.saurik.com Git - cydia.git/commitdiff
If era_ != era goto reload; for PackageListController.
authorJay Freeman (saurik) <saurik@saurik.com>
Sat, 19 Mar 2011 23:44:43 +0000 (16:44 -0700)
committerJay Freeman (saurik) <saurik@saurik.com>
Sat, 19 Mar 2011 23:45:31 +0000 (16:45 -0700)
MobileCydia.mm

index 2c2734dbf0acb8097407db244653bf4de9ab4867..b8aca9373ea1577861dc0f40caf10bdb4ec036a8 100644 (file)
@@ -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];