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))))))