From 5c87d61b5515b0b2c9b9ba8effa5d90fde1464c6 Mon Sep 17 00:00:00 2001 From: "Jay Freeman (saurik)" Date: Sun, 21 Dec 2008 09:40:45 +0000 Subject: [PATCH] Fixed package holds on Changes. --- Cydia.mm | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/Cydia.mm b/Cydia.mm index 7a5a33d1..15e167ae 100644 --- a/Cydia.mm +++ b/Cydia.mm @@ -262,7 +262,7 @@ extern NSString * const kCAFilterNearest; #define lprintf(args...) fprintf(stderr, args) -#define ForRelease 0 +#define ForRelease 1 #define ForSaurik (1 && !ForRelease) #define IgnoreInstall (0 && !ForRelease) #define RecycleWebViews 0 @@ -1582,10 +1582,12 @@ class Progress : - (BOOL) upgradableAndEssential:(BOOL)essential { pkgCache::VerIterator current = iterator_.CurrentVer(); + bool value; if (current.end()) - return essential && [self essential]; + value = essential && [self essential]; else - return !version_.end() && version_ != current; + value = !version_.end() && version_ != current && (!essential || ![database_ cache][iterator_].Keep()); + return value; } - (BOOL) essential { @@ -1921,9 +1923,10 @@ class Progress : } bits; } value; - value.bits.upgradable = [self upgradableAndEssential:YES] ? 1 : 0; + bool upgradable([self upgradableAndEssential:YES]); + value.bits.upgradable = upgradable ? 1 : 0; - if ([self upgradableAndEssential:YES]) { + if (upgradable) { value.bits.timestamp = 0; value.bits.ignored = [self ignored] ? 0 : 1; value.bits.upgradable = 1; -- 2.45.2