feat(编辑能力): 修复内部对象撤销后粘贴崩溃
build.yaml / build (push) Successful in 38s

This commit is contained in:
xiaoqidun committed 2026-09-17 19:22:07 +08:00
1 parent fa8fec9830
commit 0f86c8d727
17 files changed
+842 -127

No files matched your search

+5 -2
View File
@@ -337,6 +337,7 @@ func (e *Editor) usedResources() (fonts, images []editorResource, spaces []Color
case "CompositeObject", "CompositeGraphicUnit":
collectCompositeReferences(object.CompositeGraphicUnit, used)
case "TextObject":
used[object.TextObject.DrawParam] = true
used[object.TextObject.Font] = true
if e.source != nil && (!exists || before.Type != object.Type || before.TextObject.Font != object.TextObject.Font) {
promoted[object.TextObject.Font] = true
@@ -352,20 +353,22 @@ func (e *Editor) usedResources() (fonts, images []editorResource, spaces []Color
promoted[object.ImageObject.ImageMask] = true
}
}
case "PathObject":
used[object.PathObject.DrawParam] = true
}
}
}
}
for i := len(e.resources) - 1; i >= 0; i-- {
resource := e.resources[i]
if resource.composite != "" && used[resource.composite] {
if resource.definition() != "" && used[resource.definition()] {
for _, id := range resource.references {
used[id] = true
}
}
}
for _, resource := range e.resources {
if resource.composite != "" && used[resource.composite] {
if resource.definition() != "" && used[resource.definition()] {
files[resource.name] = true
}
if resource.font != nil && used[resource.font.ID] {