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/MulticoreVisualizerCanvasFilter.java')
-rw-r--r--dsf-gdb/org.eclipse.cdt.dsf.gdb.multicorevisualizer.ui/src/org/eclipse/cdt/dsf/gdb/multicorevisualizer/internal/ui/view/MulticoreVisualizerCanvasFilter.java16
1 files changed, 14 insertions, 2 deletions
diff --git a/dsf-gdb/org.eclipse.cdt.dsf.gdb.multicorevisualizer.ui/src/org/eclipse/cdt/dsf/gdb/multicorevisualizer/internal/ui/view/MulticoreVisualizerCanvasFilter.java b/dsf-gdb/org.eclipse.cdt.dsf.gdb.multicorevisualizer.ui/src/org/eclipse/cdt/dsf/gdb/multicorevisualizer/internal/ui/view/MulticoreVisualizerCanvasFilter.java
index 09dce2c7a5c..8cf14593d53 100644
--- a/dsf-gdb/org.eclipse.cdt.dsf.gdb.multicorevisualizer.ui/src/org/eclipse/cdt/dsf/gdb/multicorevisualizer/internal/ui/view/MulticoreVisualizerCanvasFilter.java
+++ b/dsf-gdb/org.eclipse.cdt.dsf.gdb.multicorevisualizer.ui/src/org/eclipse/cdt/dsf/gdb/multicorevisualizer/internal/ui/view/MulticoreVisualizerCanvasFilter.java
@@ -7,6 +7,7 @@
*
* Contributors:
* Marc Dumais (Ericsson) - Initial API and implementation (Bug 405390)
+ * Marc Dumais (Ericsson) - Bug 407673
*******************************************************************************/
package org.eclipse.cdt.dsf.gdb.multicorevisualizer.internal.ui.view;
@@ -134,9 +135,11 @@ public class MulticoreVisualizerCanvasFilter {
* for all filter objects.
*/
public void updateFilter() {
- if (m_filterList == null)
+ if (m_filterList == null || m_canvas == null)
return;
+ VisualizerModel model = m_canvas.getModel();
+
resetCounters();
m_dynamicFilterList.clear();
@@ -147,7 +150,16 @@ public class MulticoreVisualizerCanvasFilter {
addElementToFilterList(elem);
// also add all its ancestors
- IVisualizerModelObject parent = elem.getParent();
+ IVisualizerModelObject parent;
+
+ // Bug 407673 - if element is a thread, lookup the parent (core)
+ // from the current model, to be sure it's up-to-date
+ if (elem instanceof VisualizerThread && model != null) {
+ parent = model.getThread(((VisualizerThread) elem).getGDBTID()).getParent();
+ }
+ else {
+ parent = elem.getParent();
+ }
while (parent != null) {
addElementToFilterList(parent);
parent = parent.getParent();

Back to the top