0
Fork 0
mirror of https://github.com/penpot/penpot.git synced 2025-02-18 21:06:11 -05:00

🐛 Fix intermitent exception on viewport ref ns

This commit is contained in:
Andrey Antukh 2023-05-09 14:08:35 +02:00
parent bf3888585a
commit 049ebdd542

View file

@ -39,7 +39,6 @@
(defn create-viewport-ref (defn create-viewport-ref
[] []
(let [ref (mf/use-ref nil)] (let [ref (mf/use-ref nil)]
[ref [ref
(mf/use-memo (mf/use-memo
@ -51,11 +50,13 @@
(defn point->viewport (defn point->viewport
[pt] [pt]
(let [zoom (dm/get-in @st/state [:workspace-local :zoom])] (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) (let [vbox (.. ^js @viewport-ref -viewBox -baseVal)
brect @viewport-brect brect @viewport-brect
box (gpt/point (.-x vbox) (.-y vbox)) box (gpt/point (.-x vbox) (.-y vbox))
zoom (gpt/point zoom)] zoom (gpt/point zoom)]
(-> (gpt/subtract pt brect) (-> (gpt/subtract pt brect)
(gpt/divide zoom) (gpt/divide zoom)
(gpt/add box)))))) (gpt/add box))))))