Compare commits

...

1 Commits

Author SHA1 Message Date
Ryan Schultz 2cb9ff6946 fix 8119: Fix ReferenceError in snap object cache lookup
Cached SnapObj entries holding references to freed Blender
objects raised ReferenceError on .obj.name access. Evict
stale entries at the start of create_snap_obj.

Generated with the assistance of an AI coding tool.
2026-05-29 07:49:44 -05:00
+9
View File
@@ -888,6 +888,15 @@ class Raycast(bonsai.core.tool.Raycast):
def create_snap_obj(cls, obj):
if obj.data is None or not isinstance(obj.data, bpy.types.Mesh):
return None
# Evict cached entries whose Blender object has since been freed.
valid = []
for s in cls.snap_objs:
try:
_ = s.obj.name
valid.append(s)
except ReferenceError:
pass
cls.snap_objs[:] = valid
for i, snap_obj in enumerate(cls.snap_objs):
if obj.name == snap_obj.obj.name:
# Handle objects modified while a modal operator is active.