From 049ebdd54203183d5865fbcc7679c33e726d900c Mon Sep 17 00:00:00 2001 From: Andrey Antukh Date: Tue, 9 May 2023 14:08:35 +0200 Subject: [PATCH] :bug: Fix intermitent exception on viewport ref ns --- .../src/app/main/ui/workspace/viewport/viewport_ref.cljs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/frontend/src/app/main/ui/workspace/viewport/viewport_ref.cljs b/frontend/src/app/main/ui/workspace/viewport/viewport_ref.cljs index aa293f191..32bd7fccf 100644 --- a/frontend/src/app/main/ui/workspace/viewport/viewport_ref.cljs +++ b/frontend/src/app/main/ui/workspace/viewport/viewport_ref.cljs @@ -39,7 +39,6 @@ (defn create-viewport-ref [] - (let [ref (mf/use-ref nil)] [ref (mf/use-memo @@ -51,11 +50,13 @@ (defn point->viewport [pt] (let [zoom (dm/get-in @st/state [:workspace-local :zoom])] - (when (some? @viewport-ref) + (when (and (some? @viewport-ref) + (some? @viewport-brect)) (let [vbox (.. ^js @viewport-ref -viewBox -baseVal) brect @viewport-brect box (gpt/point (.-x vbox) (.-y vbox)) zoom (gpt/point zoom)] + (-> (gpt/subtract pt brect) (gpt/divide zoom) (gpt/add box))))))