Compare commits

..

No commits in common. '22892ef702783b3651dc7d713b17f31841e2f87c' and '3939f6e64252a3a0ac65c2002f89baecc79ac443' have entirely different histories.

  1. 9
      korman/helpers.py

9
korman/helpers.py

@ -18,7 +18,6 @@ import bpy
from contextlib import contextmanager from contextlib import contextmanager
import math import math
from typing import * from typing import *
from uuid import uuid4
@contextmanager @contextmanager
def bmesh_from_object(bl): def bmesh_from_object(bl):
@ -63,14 +62,12 @@ class GoodNeighbor:
@contextmanager @contextmanager
def TemporaryCollectionItem(collection): def TemporaryCollectionItem(collection):
item = collection.add() 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: try:
yield item yield item
finally: finally:
index = collection.find(name) index = next((i for i, j in enumerate(collection) if j == item), None)
collection.remove(index) if index is not None:
collection.remove(index)
class TemporaryObject: class TemporaryObject:
def __init__(self, obj, remove_func): def __init__(self, obj, remove_func):

Loading…
Cancel
Save