Compare commits

...

3 Commits

Author SHA1 Message Date
Adam Johnson 22892ef702
Merge pull request #437 from Jrius/TemporaryObject_ref_fix 2 months ago
Jrius c6f2c4d76e Fix import 2 months ago
Jrius 23af1211cd Fix TemporaryCollectionItem reference bug 2 months ago
  1. 7
      korman/helpers.py

7
korman/helpers.py

@ -18,6 +18,7 @@ import bpy
from contextlib import contextmanager
import math
from typing import *
from uuid import uuid4
@contextmanager
def bmesh_from_object(bl):
@ -62,11 +63,13 @@ class GoodNeighbor:
@contextmanager
def TemporaryCollectionItem(collection):
item = collection.add()
# Blender may recreate the `item` instance as the collection grows and shrink...
# Assign it a unique name so we know which item to delete later on.
name = item.name = str(uuid4())
try:
yield item
finally:
index = next((i for i, j in enumerate(collection) if j == item), None)
if index is not None:
index = collection.find(name)
collection.remove(index)
class TemporaryObject:

Loading…
Cancel
Save