Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
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.java17
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) {

Back to the top