Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'org.eclipse.mylyn.tasks.bugs')
-rw-r--r--org.eclipse.mylyn.tasks.bugs/src/org/eclipse/mylyn/internal/tasks/bugs/wizards/ReportBugOrEnhancementWizard.java31
1 files changed, 22 insertions, 9 deletions
diff --git a/org.eclipse.mylyn.tasks.bugs/src/org/eclipse/mylyn/internal/tasks/bugs/wizards/ReportBugOrEnhancementWizard.java b/org.eclipse.mylyn.tasks.bugs/src/org/eclipse/mylyn/internal/tasks/bugs/wizards/ReportBugOrEnhancementWizard.java
index 063c95b8f..86298d436 100644
--- a/org.eclipse.mylyn.tasks.bugs/src/org/eclipse/mylyn/internal/tasks/bugs/wizards/ReportBugOrEnhancementWizard.java
+++ b/org.eclipse.mylyn.tasks.bugs/src/org/eclipse/mylyn/internal/tasks/bugs/wizards/ReportBugOrEnhancementWizard.java
@@ -109,6 +109,8 @@ public class ReportBugOrEnhancementWizard extends Wizard {
private SupportContentProvider contentProvider;
+ private boolean inFinish;
+
public ReportBugOrEnhancementWizard() {
setForcePreviousAndNextButtons(true);
setNeedsProgressMonitor(true);
@@ -150,17 +152,28 @@ public class ReportBugOrEnhancementWizard extends Wizard {
if (!(product instanceof SupportProduct)) {
return false;
}
-
- TaskErrorReporter reporter = TasksBugsPlugin.getTaskErrorReporter();
- IStatus status = new ProductStatus((IProduct) product);
- SupportRequest request = reporter.preProcess(status, ((ProductStatus) status).getProduct());
- if (!((AttributeTaskMapper) request.getDefaultContribution()).isMappingComplete()) {
- TasksUiInternal.displayStatus(Messages.ReportBugOrEnhancementWizard_Report_Bug_or_Enhancement, new Status(
- IStatus.ERROR, TasksBugsPlugin.ID_PLUGIN,
- Messages.ReportBugOrEnhancementWizard_Support_request_faild_Information_incomplete_Error));
+ // bug 341886: avoid executing finish twice
+ if (inFinish) {
return false;
}
- return reporter.process(request.getDefaultContribution(), getContainer());
+ try {
+ inFinish = true;
+ TaskErrorReporter reporter = TasksBugsPlugin.getTaskErrorReporter();
+ IStatus status = new ProductStatus((IProduct) product);
+ SupportRequest request = reporter.preProcess(status, ((ProductStatus) status).getProduct());
+ if (!((AttributeTaskMapper) request.getDefaultContribution()).isMappingComplete()) {
+ TasksUiInternal.displayStatus(
+ Messages.ReportBugOrEnhancementWizard_Report_Bug_or_Enhancement,
+ new Status(
+ IStatus.ERROR,
+ TasksBugsPlugin.ID_PLUGIN,
+ Messages.ReportBugOrEnhancementWizard_Support_request_faild_Information_incomplete_Error));
+ return false;
+ }
+ return reporter.process(request.getDefaultContribution(), getContainer());
+ } finally {
+ inFinish = false;
+ }
}
}

Back to the top