修复 XEquipment 外壳/Impl 分离机制的 M1-M7 缺陷 #82

Merged
gjm merged 1 commits from company-laptop/fix-xequipment-m1-m7 AGit into main 2026-10-27 09:58:08 +08:00
Collaborator
  • M1 createParamEquImpl 成功替换前释放旧 impl,消除 inplace 编辑泄漏
  • M2 copyFrom2 先克隆成功再替换,避免旧 impl 泄漏或被置空
  • M3 copyFrom 补基类深拷贝并兜底重建 impl,修复 clone/复制得到空壳
  • M4 在 XEquipmentImplBase 注明 impl 不拥有 xdata 的所有权契约
  • M5 draw3dByImp 改用临时数组,绘制失败时保留旧 3D 缓存并提示
  • M6 抽出 makeTempClone(),集中 ToJson 的克隆/补数据/拷 part 流程
  • M7 getUniqueName 的 %s 统一传 LPCTSTR、修正 sizeof,XL 的 %d 改 %f
- M1 createParamEquImpl 成功替换前释放旧 impl,消除 inplace 编辑泄漏 - M2 copyFrom2 先克隆成功再替换,避免旧 impl 泄漏或被置空 - M3 copyFrom 补基类深拷贝并兜底重建 impl,修复 clone/复制得到空壳 - M4 在 XEquipmentImplBase 注明 impl 不拥有 xdata 的所有权契约 - M5 draw3dByImp 改用临时数组,绘制失败时保留旧 3D 缓存并提示 - M6 抽出 makeTempClone(),集中 ToJson 的克隆/补数据/拷 part 流程 - M7 getUniqueName 的 %s 统一传 LPCTSTR、修正 sizeof,XL 的 %d 改 %f
company-laptop added 1 commit 2026-10-27 09:28:03 +08:00
- M1 createParamEquImpl 成功替换前释放旧 impl,消除 inplace 编辑泄漏
- M2 copyFrom2 先克隆成功再替换,避免旧 impl 泄漏或被置空
- M3 copyFrom 补基类深拷贝并兜底重建 impl,修复 clone/复制得到空壳
- M4 在 XEquipmentImplBase 注明 impl 不拥有 xdata 的所有权契约
- M5 draw3dByImp 改用临时数组,绘制失败时保留旧 3D 缓存并提示
- M6 抽出 makeTempClone(),集中 ToJson 的克隆/补数据/拷 part 流程
- M7 getUniqueName 的 %s 统一传 LPCTSTR、修正 sizeof,XL 的 %d 改 %f
gjm approved these changes 2026-10-27 09:58:03 +08:00
gjm merged commit a51a550a99 into main 2026-10-27 09:58:08 +08:00
Sign in to join this conversation.
No Reviewers
No labels
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: gjm/envi-code#82