diff --git a/src/mol-plugin/state.ts b/src/mol-plugin/state.ts index 616538d627f787a907cdf3d720b5b5cfc254c90a..54d48baac84de50d78981931f082a2f8306734c2 100644 --- a/src/mol-plugin/state.ts +++ b/src/mol-plugin/state.ts @@ -52,6 +52,14 @@ class PluginState { } async setSnapshot(snapshot: PluginState.Snapshot) { + // TODO + // JSON.stringify of Infinity => null ... is this a good place to fix it? + if (snapshot.canvas3d && snapshot.canvas3d.viewport && snapshot.canvas3d.viewport.trackball) { + if (snapshot.canvas3d.viewport.trackball.maxDistance === null) { + snapshot.canvas3d.viewport.trackball.maxDistance = Infinity; + } + } + await this.plugin.runTask(this.behaviorState.setSnapshot(snapshot.behaviour)); await this.plugin.runTask(this.dataState.setSnapshot(snapshot.data)); PluginCommands.Canvas3D.SetSettings.dispatch(this.plugin, { settings: snapshot.canvas3d.viewport || { } });