bug 69811
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/internal/search/UpdatesSearchCategory.java b/update/org.eclipse.update.core/src/org/eclipse/update/internal/search/UpdatesSearchCategory.java
index b06983c..595cad2 100644
--- a/update/org.eclipse.update.core/src/org/eclipse/update/internal/search/UpdatesSearchCategory.java
+++ b/update/org.eclipse.update.core/src/org/eclipse/update/internal/search/UpdatesSearchCategory.java
@@ -114,6 +114,8 @@
IFeatureReference ref;
IInstallFeatureOperation patchFor;
boolean patch;
+ IInstallFeatureOperation job;
+
public Hit(IFeature candidate, IFeatureReference ref) {
this.candidate = candidate;
this.ref = ref;
@@ -129,12 +131,15 @@
}
public IInstallFeatureOperation getJob() {
- try {
- IFeature feature = ref.getFeature(null);
- return OperationsManager.getOperationFactory().createInstallOperation(null, feature, null, null, null);
- } catch (CoreException e) {
- return null;
+ if (job == null) {
+ try {
+ IFeature feature = ref.getFeature(null);
+ job = OperationsManager.getOperationFactory().createInstallOperation(null, feature, null, null, null);
+ } catch (CoreException e) {
+ UpdateCore.log(e);
+ }
}
+ return job;
}
public boolean isPatch() {
@@ -228,7 +233,9 @@
if (isNewerVersion(candidate.getVersionedIdentifier(),ref.getVersionedIdentifier())) {
Hit h = new Hit(candidate, ref);
hits.add(h);
- updateJobs.add(h.getJob());
+ IInstallFeatureOperation job = h.getJob();
+ if (job != null)
+ updateJobs.add(job);
} else {
// accept the same feature if the installed
// feature is broken