perfetto-ui: Fix doubled tracks when reloading from permalinks
Change-Id: I32f84b61be86ed7fa4d961fd37c0bf583910b0f1
diff --git a/ui/src/controller/trace_controller.ts b/ui/src/controller/trace_controller.ts
index 565a2c6..66d2a26 100644
--- a/ui/src/controller/trace_controller.ts
+++ b/ui/src/controller/trace_controller.ts
@@ -178,13 +178,21 @@
globals.dispatchMultiple(actions);
- await this.listTracks();
+ {
+ // When we reload from a permalink don't create extra tracks:
+ const {pinnedTracks, scrollingTracks} = globals.state;
+ if (pinnedTracks.length || scrollingTracks.length) {
+ await this.listTracks();
+ }
+ }
+
await this.listThreads();
await this.loadTimelineOverview(traceTime);
}
private async listTracks() {
this.updateStatus('Loading tracks');
+
const engine = assertExists<Engine>(this.engine);
const addToTrackActions: DeferredAction[] = [];
const numCpus = await engine.getNumberOfCpus();