*** empty log message ***
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/forms/ActivityConstraints.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/forms/ActivityConstraints.java
index 2b715df..aec19bc 100644
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/forms/ActivityConstraints.java
+++ b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/forms/ActivityConstraints.java
@@ -516,6 +516,7 @@
IFeature[] array =
(IFeature[]) siteFeatures.toArray(
new IFeature[siteFeatures.size()]);
+ ArrayList removeTree = new ArrayList();
for (int j = 0; j < array.length; j++) {
VersionedIdentifier id1 = array[j].getVersionedIdentifier();
for (int k = 0; k < array.length; k++) {
@@ -525,11 +526,17 @@
if (id1.getIdentifier().equals(id2.getIdentifier())) {
if (id2.getVersion().isGreaterThan(id1.getVersion())) {
siteFeatures.remove(array[j]);
+ removeTree.add(array[j]);
break;
}
}
}
}
+ // Compute patches that will need to be removed together with
+ // the removed features
+ ArrayList patchesTree = new ArrayList();
+ contributePatchesFor(removeTree, siteFeatures, patchesTree);
+ siteFeatures.removeAll(patchesTree);
// accumulate site results
features.addAll(siteFeatures);