tmf: Fix trace markers with experiments in AbstractTimeGraphView
authorPatrick Tasse <patrick.tasse@gmail.com>
Wed, 11 Nov 2015 15:21:50 +0000 (10:21 -0500)
committerPatrick Tasse <patrick.tasse@gmail.com>
Thu, 12 Nov 2015 18:09:07 +0000 (13:09 -0500)
The key of the marker event sources map should always be the view trace.

Change-Id: Iecb458fd291c3ae1b62a5fed9f9954306f41a09a
Signed-off-by: Patrick Tasse <patrick.tasse@gmail.com>
Reviewed-on: https://git.eclipse.org/r/60138
Reviewed-by: Hudson CI
Reviewed-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Tested-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
tmf/org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/tmf/ui/views/timegraph/AbstractTimeGraphView.java

index 68e98e42636b83c307cd8bd1171edf312572d255..79b67cfa9762fd9843ee32e88f47cba6f0d42fc1 100644 (file)
@@ -1244,9 +1244,9 @@ public abstract class AbstractTimeGraphView extends TmfView implements ITmfTimeA
                 if (buildThread != null) {
                     buildThread.cancel();
                 }
-                fMarkerEventSourcesMap.remove(trace);
             }
         }
+        fMarkerEventSourcesMap.remove(signal.getTrace());
         synchronized (fEntryListMap) {
             fEntryListMap.remove(signal.getTrace());
         }
@@ -1370,17 +1370,19 @@ public abstract class AbstractTimeGraphView extends TmfView implements ITmfTimeA
         if (viewTrace == null) {
             return;
         }
+        List<IMarkerEventSource> markerEventSources = new ArrayList<>();
         synchronized (fBuildThreadMap) {
             for (ITmfTrace trace : getTracesToBuild(viewTrace)) {
                 if (trace == null) {
                     break;
                 }
-                fMarkerEventSourcesMap.put(trace, TmfTraceAdapterManager.getAdapters(trace, IMarkerEventSource.class));
+                markerEventSources.addAll(TmfTraceAdapterManager.getAdapters(trace, IMarkerEventSource.class));
                 BuildThread buildThread = new BuildThread(trace, viewTrace, getName());
                 fBuildThreadMap.put(trace, buildThread);
                 buildThread.start();
             }
         }
+        fMarkerEventSourcesMap.put(viewTrace, markerEventSources);
     }
 
     /**
@@ -1510,7 +1512,7 @@ public abstract class AbstractTimeGraphView extends TmfView implements ITmfTimeA
     protected @NonNull List<IMarkerEvent> getTraceMarkerList(long startTime, long endTime,
             long resolution, @NonNull IProgressMonitor monitor) {
         List<IMarkerEvent> markers = new ArrayList<>();
-        for (IMarkerEventSource markerEventSource : getMarkerEventSources(getTrace())) {
+        for (IMarkerEventSource markerEventSource : getMarkerEventSources(fTrace)) {
             for (String category : markerEventSource.getMarkerCategories()) {
                 if (monitor.isCanceled()) {
                     break;
This page took 0.028082 seconds and 5 git commands to generate.