From: Jay Freeman (saurik) Date: Wed, 1 Dec 2010 01:03:39 +0000 (-0800) Subject: Cache the epic sort ordering to Cytore. X-Git-Tag: v1.1.0%b1~464 X-Git-Url: https://git.saurik.com/cydia.git/commitdiff_plain/cd95e3901064f7ac343347e5fdc80a173a9426cf Cache the epic sort ordering to Cytore. --- diff --git a/MobileCydia.mm b/MobileCydia.mm index 249c15d9..34781f66 100644 --- a/MobileCydia.mm +++ b/MobileCydia.mm @@ -1926,6 +1926,8 @@ struct ParsedPackage { - (NSArray *) purposes; - (bool) isCommercial; +- (void) setIndex:(size_t)index; + - (CYString &) cyname; - (uint32_t) compareBySection:(NSArray *)sections; @@ -2784,6 +2786,11 @@ struct PackageNameOrdering : return [self hasTag:@"cydia::commercial"]; } +- (void) setIndex:(size_t)index { + if (metadata_->index_ != index) + metadata_->index_ = index; +} + - (CYString &) cyname { return name_.empty() ? id_ : name_; } @@ -3467,6 +3474,12 @@ static NSString *Warning_; //[packages_ sortUsingFunction:reinterpret_cast(&PackageNameCompare) context:NULL]; _trace(); + + size_t count(CFArrayGetCount(packages_)); + for (size_t index(0); index != count; ++index) + [(Package *) CFArrayGetValueAtIndex(packages_, index) setIndex:index]; + + _trace(); } } } CYPoolEnd() _trace(); }