]> git.saurik.com Git - cydia.git/commitdiff
Add @synchronized (database_) around some Package selectors used from JS.
authorJay Freeman (saurik) <saurik@saurik.com>
Thu, 25 Nov 2010 23:40:38 +0000 (15:40 -0800)
committerJay Freeman (saurik) <saurik@saurik.com>
Thu, 25 Nov 2010 23:40:38 +0000 (15:40 -0800)
MobileCydia.mm

index e2a6db31ca7a87641e74b7321e5cc9e2eabd526d..c2a83db0630f90c14a2e2592dc8e137e982c17c4 100644 (file)
@@ -2245,16 +2245,22 @@ struct PackageNameOrdering :
 }
 
 - (Address *) maintainer {
-    if (file_.end())
+@synchronized (database_) {
+    if ([database_ era] != era_ || file_.end())
         return nil;
+
     pkgRecords::Parser *parser = &[database_ records]->Lookup(file_);
     const std::string &maintainer(parser->Maintainer());
     return maintainer.empty() ? nil : [Address addressWithString:[NSString stringWithUTF8String:maintainer.c_str()]];
-}
+} }
 
 - (size_t) size {
-    return version_.end() ? 0 : version_->InstalledSize;
-}
+@synchronized (database_) {
+    if ([database_ era] != era_ || version_.end())
+        return 0;
+
+    return version_->InstalledSize;
+} }
 
 - (NSString *) longDescription {
 @synchronized (database_) {