Fix accidentally removing dependency from index when already provided by existing package

This commit is contained in:
Martchus 2022-02-03 22:10:22 +01:00
parent e582d5f406
commit e5a3b5f311
1 changed files with 4 additions and 3 deletions

View File

@ -638,12 +638,13 @@ void PackageUpdaterPrivate::submit(const std::string &dependencyName, AffectedDe
continue;
}
auto &pkgs = existingDependency.relevantPackages;
auto size = pkgs.size();
pkgs.merge(affected.newPackages);
auto change = pkgs.size() != size;
auto change = false;
for (auto &toRemove : affected.removedPackages) {
change = pkgs.erase(toRemove) || change;
}
auto size = pkgs.size();
pkgs.merge(affected.newPackages);
change = change || pkgs.size() != size;
if (change) {
txn.put(existingDependency, i.getID());
}