diff options
author | Francois Chouinard | 2012-06-01 16:01:45 +0000 |
---|---|---|
committer | Francois Chouinard | 2012-06-01 16:09:09 +0000 |
commit | 7908640cf16095f868ce8b4cf60ee9109071ceb6 (patch) | |
tree | d332d03539eb2065234d75833cc4c5c9ccd50788 /lttng/org.eclipse.linuxtools.tmf.core | |
parent | 76ae2a8dfaa9401bbbd54e3bf7f46959eaf52673 (diff) | |
download | org.eclipse.linuxtools-7908640cf16095f868ce8b4cf60ee9109071ceb6.tar.gz org.eclipse.linuxtools-7908640cf16095f868ce8b4cf60ee9109071ceb6.tar.xz org.eclipse.linuxtools-7908640cf16095f868ce8b4cf60ee9109071ceb6.zip |
Fix for bug381370
Diffstat (limited to 'lttng/org.eclipse.linuxtools.tmf.core')
-rw-r--r-- | lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/TmfCheckpointIndexer.java | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/TmfCheckpointIndexer.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/TmfCheckpointIndexer.java index c82b4688e9..70bb5a1405 100644 --- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/TmfCheckpointIndexer.java +++ b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/TmfCheckpointIndexer.java @@ -67,7 +67,7 @@ public class TmfCheckpointIndexer<T extends ITmfTrace<ITmfEvent>> implements ITm * The trace index. It is composed of checkpoints taken at intervals of * fCheckpointInterval events. */ - private final List<TmfCheckpoint> fTraceIndex; + private final List<ITmfCheckpoint> fTraceIndex; /** * The indexing request @@ -97,7 +97,7 @@ public class TmfCheckpointIndexer<T extends ITmfTrace<ITmfEvent>> implements ITm public TmfCheckpointIndexer(final ITmfTrace<ITmfEvent> trace, final int interval) { fTrace = trace; fCheckpointInterval = interval; - fTraceIndex = new ArrayList<TmfCheckpoint>(); + fTraceIndex = new ArrayList<ITmfCheckpoint>(); fIsIndexing = false; } @@ -166,9 +166,6 @@ public class TmfCheckpointIndexer<T extends ITmfTrace<ITmfEvent>> implements ITm }; job.schedule(); - // Clear the checkpoints - fTraceIndex.clear(); - // Build a background request for all the trace data. The index is // updated as we go by readNextEvent(). fIndexingRequest = new TmfEventRequest<ITmfEvent>(ITmfEvent.class, @@ -308,9 +305,10 @@ public class TmfCheckpointIndexer<T extends ITmfTrace<ITmfEvent>> implements ITm */ private ITmfContext seekCheckpoint(final int checkpoint) { ITmfLocation<?> location = null; - int index = checkpoint; + int index = 0; synchronized (fTraceIndex) { if (!fTraceIndex.isEmpty()) { + index = checkpoint; if (index >= fTraceIndex.size()) { index = fTraceIndex.size() - 1; } @@ -329,7 +327,7 @@ public class TmfCheckpointIndexer<T extends ITmfTrace<ITmfEvent>> implements ITm /** * @return the trace index */ - protected List<TmfCheckpoint> getTraceIndex() { + protected List<ITmfCheckpoint> getTraceIndex() { return fTraceIndex; } } |