mirror of
https://github.com/penpot/penpot.git
synced 2025-08-04 02:18:23 +02:00
🐛 Fix shape leaking on deletion when is grouped.
This commit is contained in:
parent
2d4e76619f
commit
7fb897a7ad
3 changed files with 22 additions and 6 deletions
|
@ -440,9 +440,16 @@
|
|||
(defmethod process-change :del-obj
|
||||
[data {:keys [id] :as change}]
|
||||
(when-let [{:keys [frame-id shapes] :as obj} (get-in data [:objects id])]
|
||||
(let [data (update data :objects dissoc id)]
|
||||
(let [objects (:objects data)
|
||||
parent-id (get-parent id objects)
|
||||
parent (get objects parent-id)
|
||||
data (update data :objects dissoc id)]
|
||||
(cond-> data
|
||||
(contains? (:objects data) frame-id)
|
||||
(and (not= parent-id frame-id)
|
||||
(= :group (:type parent)))
|
||||
(update-in [:objects parent-id :shapes] (fn [s] (filterv #(not= % id) s)))
|
||||
|
||||
(contains? objects frame-id)
|
||||
(update-in [:objects frame-id :shapes] (fn [s] (filterv #(not= % id) s)))
|
||||
|
||||
(seq shapes) ; Recursive delete all dependend objects
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue