- if (unlikely(Cache.BuildDepCache() == false))
- return pkgCache::VerIterator(*Cache);
- pkgCache::VerIterator Cand = Cache[Pkg].CandidateVerIter(Cache);
+ pkgCache::VerIterator Cand;
+ if (Cache.IsDepCacheBuilt() == true)
+ Cand = Cache[Pkg].CandidateVerIter(Cache);
+ else {
+ if (unlikely(Cache.BuildPolicy() == false))
+ return pkgCache::VerIterator(*Cache);
+ Cand = Cache.GetPolicy()->GetCandidateVer(Pkg);
+ }