🐛 Fix problem with path editor and right click

This commit is contained in:
alonso.torres 2025-12-30 11:37:51 +01:00 committed by Alejandro Alonso
parent fe94ee4526
commit 55752d361f
2 changed files with 23 additions and 21 deletions

View File

@ -6,6 +6,7 @@
- Fix setting a portion of text as bold or underline messes things up [Github #7980](https://github.com/penpot/penpot/issues/7980)
- Fix problem with style in fonts input [Taiga #12935](https://tree.taiga.io/project/penpot/issue/12935)
- Fix problem with path editor and right click [Github #7917](https://github.com/penpot/penpot/issues/7917)
## 2.12.0

View File

@ -65,34 +65,35 @@
on-pointer-down
(fn [event]
(dom/stop-propagation event)
(dom/prevent-default event)
(when (dom/left-mouse? event)
(dom/stop-propagation event)
(dom/prevent-default event)
;; FIXME: revisit this, using meta here breaks equality checks
(when (and is-new (some? (meta position)))
(st/emit! (drp/create-node-at-position (meta position))))
;; FIXME: revisit this, using meta here breaks equality checks
(when (and is-new (some? (meta position)))
(st/emit! (drp/create-node-at-position (meta position))))
(let [is-shift (kbd/shift? event)
is-mod (kbd/mod? event)]
(cond
is-last
(st/emit! (drp/reset-last-handler))
(let [is-shift (kbd/shift? event)
is-mod (kbd/mod? event)]
(cond
is-last
(st/emit! (drp/reset-last-handler))
(and is-move is-mod (not is-curve))
(st/emit! (drp/make-curve position))
(and is-move is-mod (not is-curve))
(st/emit! (drp/make-curve position))
(and is-move is-mod is-curve)
(st/emit! (drp/make-corner position))
(and is-move is-mod is-curve)
(st/emit! (drp/make-corner position))
is-move
;; If we're dragging a selected item we don't change the selection
(st/emit! (drp/start-move-path-point position is-shift))
is-move
;; If we're dragging a selected item we don't change the selection
(st/emit! (drp/start-move-path-point position is-shift))
(and is-draw is-start-path)
(st/emit! (drp/start-path-from-point position))
(and is-draw is-start-path)
(st/emit! (drp/start-path-from-point position))
(and is-draw (not is-start-path))
(st/emit! (drp/close-path-drag-start position)))))]
(and is-draw (not is-start-path))
(st/emit! (drp/close-path-drag-start position))))))]
[:g.path-point
[:circle.path-point