From aed6a8a5ff243cd0ef668d5b7438ba54e0241490 Mon Sep 17 00:00:00 2001 From: "alonso.torres" Date: Mon, 21 Feb 2022 16:56:41 +0100 Subject: [PATCH] :bug: Fix problem with double click --- CHANGES.md | 1 + .../main/ui/workspace/viewport/actions.cljs | 26 +++++++++++-------- 2 files changed, 16 insertions(+), 11 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index 6b169a44f..c9791e493 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -36,6 +36,7 @@ - Fixed handoff shadow type text [Taiga #2717](https://tree.taiga.io/project/penpot/issue/2717) - Fixed components get "dirty" marker when moved [Taiga #2764](https://tree.taiga.io/project/penpot/issue/2764) - Fixed cannot align objects in a group that is not part of a frame [Taiga #2762](https://tree.taiga.io/project/penpot/issue/2762) +- Fix problem with double click on exit path editing [Taiga #2906](https://tree.taiga.io/project/penpot/issue/2906) ### :arrow_up: Deps updates diff --git a/frontend/src/app/main/ui/workspace/viewport/actions.cljs b/frontend/src/app/main/ui/workspace/viewport/actions.cljs index c454d3698..0d6ca0ba8 100644 --- a/frontend/src/app/main/ui/workspace/viewport/actions.cljs +++ b/frontend/src/app/main/ui/workspace/viewport/actions.cljs @@ -186,19 +186,23 @@ (st/emit! (ms/->MouseEvent :double-click ctrl? shift? alt?)) - (when (and (not drawing-path?) shape) - (cond frame? - (st/emit! (dw/select-shape id shift?)) + ;; Emit asynchronously so the double click to exit shapes won't break + (timers/schedule + #(when (and (not drawing-path?) shape) + (cond + frame? + (st/emit! (dw/select-shape id shift?)) - (and group? (> (count @hover-ids) 1)) - (let [selected (get objects (second @hover-ids))] - (reset! hover selected) - (reset! hover-ids (into [] (rest @hover-ids))) - (st/emit! (dw/select-shape (:id selected)))) + (and group? (> (count @hover-ids) 1)) + (let [selected (get objects (second @hover-ids))] + (reset! hover selected) + (reset! hover-ids (into [] (rest @hover-ids))) - (not= id edition) - (st/emit! (dw/select-shape id) - (dw/start-editing-selected)))))))) + (st/emit! (dw/select-shape (:id selected)))) + + (not= id edition) + (st/emit! (dw/select-shape id) + (dw/start-editing-selected))))))))) (defn on-context-menu [hover hover-ids]