import org.eclipse.tracecompass.statesystem.core.StateSystemUtils;
import org.eclipse.tracecompass.statesystem.core.exceptions.AttributeNotFoundException;
import org.eclipse.tracecompass.statesystem.core.exceptions.StateSystemDisposedException;
+import org.eclipse.tracecompass.statesystem.core.exceptions.TimeRangeException;
import org.eclipse.tracecompass.statesystem.core.interval.ITmfStateInterval;
import org.eclipse.tracecompass.statesystem.core.statevalue.ITmfStateValue;
+import org.eclipse.tracecompass.tmf.core.signal.TmfSignalHandler;
+import org.eclipse.tracecompass.tmf.core.signal.TmfTraceOpenedSignal;
+import org.eclipse.tracecompass.tmf.core.signal.TmfTraceSelectedSignal;
import org.eclipse.tracecompass.tmf.core.statesystem.TmfStateSystemAnalysisModule;
import org.eclipse.tracecompass.tmf.core.trace.ITmfTrace;
import org.eclipse.tracecompass.tmf.core.trace.TmfTraceUtils;
}
boolean complete = false;
- long currentEnd = start;
+ long currentEnd = Math.max(start, ss.getStartTime());
while (!complete && currentEnd < end) {
complete = ss.waitUntilBuilt(BUILD_UPDATE_TIMEOUT);
try {
execNameQuark = kernelSs.getQuarkRelative(tidQuark, Attributes.EXEC_NAME);
execNameIntervals = StateSystemUtils.queryHistoryRange(kernelSs, execNameQuark, getStartTime(), getEndTime());
- } catch (AttributeNotFoundException e) {
+ } catch (TimeRangeException | AttributeNotFoundException e) {
/*
* No information on this thread (yet?), skip it for now
*/
updateContent(getWindowStartTime(), getWindowEndTime(), false);
}
+ @Override
+ @TmfSignalHandler
+ public void traceSelected(TmfTraceSelectedSignal signal) {
+ setSelectedThread(null);
+ super.traceSelected(signal);
+ }
+
+ @Override
+ @TmfSignalHandler
+ public void traceOpened(TmfTraceOpenedSignal signal) {
+ setSelectedThread(null);
+ super.traceOpened(signal);
+ }
+
}