From 17a66577759e3741b1d089168d66ce647e0e39f6 Mon Sep 17 00:00:00 2001
From: David Sehnal <david.sehnal@gmail.com>
Date: Tue, 8 Jan 2019 20:39:24 +0100
Subject: [PATCH] mol-plugin: fixed/hacked plugin state serialization of
 Infinity value in trackball.maxDistance

---
 src/mol-plugin/state.ts | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/src/mol-plugin/state.ts b/src/mol-plugin/state.ts
index 616538d62..54d48baac 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 || { } });
-- 
GitLab