diff options
Diffstat (limited to 'lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/DeleteExperimentSupplementaryFilesHandler.java')
-rw-r--r-- | lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/DeleteExperimentSupplementaryFilesHandler.java | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/DeleteExperimentSupplementaryFilesHandler.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/DeleteExperimentSupplementaryFilesHandler.java index dfd3b3d3d6..1c985ca0f3 100644 --- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/DeleteExperimentSupplementaryFilesHandler.java +++ b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/DeleteExperimentSupplementaryFilesHandler.java @@ -7,8 +7,9 @@ * http://www.eclipse.org/legal/epl-v10.html * * Contributors: - * Bernd Hufmann - Initial API and implementation - * Patrick Tasse - Close editors to release resources + * Bernd Hufmann - Initial API and implementation + * Patrick Tasse - Close editors to release resources + * Marc-Andre Laperle - Fix NPE (Bug 416574) *******************************************************************************/ package org.eclipse.linuxtools.internal.tmf.ui.project.handlers; @@ -80,7 +81,10 @@ public class DeleteExperimentSupplementaryFilesHandler extends AbstractHandler { TmfExperimentElement experiment = (TmfExperimentElement) element; IResource[] resources = experiment.getSupplementaryResources(); - resourcesList.addAll(Arrays.asList(resources)); + // List to know which resources belong to the experiment + List<IResource> experimentResources = Arrays.asList(resources); + + resourcesList.addAll(experimentResources); // Map to know which trace to close for each resource HashMap<IResource, TmfTraceElement> traceMap = new HashMap<IResource, TmfTraceElement>(); @@ -109,7 +113,12 @@ public class DeleteExperimentSupplementaryFilesHandler extends AbstractHandler { // Delete the selected resources for (IResource resource : resourcesToDelete) { - traceMap.get(resource).closeEditors(); + if (experimentResources.contains(resource)) { + experiment.closeEditors(); + } else { + traceMap.get(resource).closeEditors(); + } + try { resource.delete(true, new NullProgressMonitor()); } catch (CoreException e) { |