Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'dsf-gdb/org.eclipse.cdt.dsf.gdb.multicorevisualizer.ui/src/org/eclipse/cdt/dsf/gdb/multicorevisualizer/internal/ui/view/MulticoreVisualizer.java')
-rwxr-xr-xdsf-gdb/org.eclipse.cdt.dsf.gdb.multicorevisualizer.ui/src/org/eclipse/cdt/dsf/gdb/multicorevisualizer/internal/ui/view/MulticoreVisualizer.java68
1 files changed, 35 insertions, 33 deletions
diff --git a/dsf-gdb/org.eclipse.cdt.dsf.gdb.multicorevisualizer.ui/src/org/eclipse/cdt/dsf/gdb/multicorevisualizer/internal/ui/view/MulticoreVisualizer.java b/dsf-gdb/org.eclipse.cdt.dsf.gdb.multicorevisualizer.ui/src/org/eclipse/cdt/dsf/gdb/multicorevisualizer/internal/ui/view/MulticoreVisualizer.java
index aab49363d3b..c5cc327be93 100755
--- a/dsf-gdb/org.eclipse.cdt.dsf.gdb.multicorevisualizer.ui/src/org/eclipse/cdt/dsf/gdb/multicorevisualizer/internal/ui/view/MulticoreVisualizer.java
+++ b/dsf-gdb/org.eclipse.cdt.dsf.gdb.multicorevisualizer.ui/src/org/eclipse/cdt/dsf/gdb/multicorevisualizer/internal/ui/view/MulticoreVisualizer.java
@@ -12,6 +12,7 @@
* Marc Dumais (Ericsson) - Add CPU/core load information to the multicore visualizer (Bug 396268)
* Marc Dumais (Ericsson) - Bug 399419
* Marc Dumais (Ericsson) - Bug 405390
+ * Marc Dumais (Ericsson) - Bug 409006
*******************************************************************************/
package org.eclipse.cdt.dsf.gdb.multicorevisualizer.internal.ui.view;
@@ -817,45 +818,46 @@ public class MulticoreVisualizer extends GraphicCanvasVisualizer
List<Object> items = SelectionUtils.getSelectedObjects(workbenchSelection);
- // Use the current canvas model to match Debug View items
- // with corresponding threads, if any.
- VisualizerModel model = m_canvas.getModel();
- if (model != null) {
-
- Set<Object> selected = new HashSet<Object>();
+ if (m_canvas != null) {
+ // Use the current canvas model to match Debug View items
+ // with corresponding threads, if any.
+ VisualizerModel model = m_canvas.getModel();
+ if (model != null) {
- for (Object item : items) {
-
- // Currently, we ignore selections other than DSF context objects.
- // TODO: any other cases where we could map selections to canvas?
- if (item instanceof IDMVMContext)
- {
- IDMContext context = ((IDMVMContext) item).getDMContext();
-
- IMIProcessDMContext processContext =
- DMContexts.getAncestorOfType(context, IMIProcessDMContext.class);
- int pid = Integer.parseInt(processContext.getProcId());
-
- IMIExecutionDMContext execContext =
- DMContexts.getAncestorOfType(context, IMIExecutionDMContext.class);
- int tid = (execContext == null) ? 0 : execContext.getThreadId();
-
- if (tid == 0) { // process
- List<VisualizerThread> threads = model.getThreadsForProcess(pid);
- if (threads != null) {
- selected.addAll(threads);
+ Set<Object> selected = new HashSet<Object>();
+
+ for (Object item : items) {
+
+ // Currently, we ignore selections other than DSF context objects.
+ // TODO: any other cases where we could map selections to canvas?
+ if (item instanceof IDMVMContext)
+ {
+ IDMContext context = ((IDMVMContext) item).getDMContext();
+
+ IMIProcessDMContext processContext =
+ DMContexts.getAncestorOfType(context, IMIProcessDMContext.class);
+ int pid = Integer.parseInt(processContext.getProcId());
+
+ IMIExecutionDMContext execContext =
+ DMContexts.getAncestorOfType(context, IMIExecutionDMContext.class);
+ int tid = (execContext == null) ? 0 : execContext.getThreadId();
+
+ if (tid == 0) { // process
+ List<VisualizerThread> threads = model.getThreadsForProcess(pid);
+ if (threads != null) {
+ selected.addAll(threads);
+ }
}
- }
- else { // thread
- VisualizerThread thread = model.getThread(tid);
- if (thread != null) {
- selected.add(thread);
+ else { // thread
+ VisualizerThread thread = model.getThread(tid);
+ if (thread != null) {
+ selected.add(thread);
+ }
}
}
}
+ visualizerSelection = SelectionUtils.toSelection(selected);
}
-
- visualizerSelection = SelectionUtils.toSelection(selected);
}
return visualizerSelection;

Back to the top