Hello,
I am upgrading from Blender 4.3.2. My plugin has a base class which several Operators extend. In the base class’s __init__, I create a new class and assign it to an object variable.
In 4.3.2, this works fine. In 5.0.0, I get the error:
File "/home/name/.config/blender/5.0/scripts/addons/rct-graphics-helper/operators/render_operator.py", line 41, in __init__
self.task_builder = TaskBuilder()
^^^^^^^^^^^^^^^^^
File "/home/name/Documents/blender/versions/blender-5.0.0-beta+v50.aceda64e198a-linux.x86_64-release/5.0/scripts/modules/_bpy_types.py", line 1027, in __setattr__
properties = _StructRNA.path_resolve(self, "properties")
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ReferenceError: StructRNA of type RenderTiles has been removed
00:06.979 bpy.rna | ERROR Python script error in RENDER_OT_rct_static.execute
00:06.979 operator | ERROR Python: Traceback (most recent call last):
| File "/home/name/.config/blender/5.0/scripts/addons/rct-graphics-helper/operators/render_operator.py", line 41, in __init__
| self.task_builder = TaskBuilder()
| ^^^^^^^^^^^^^^^^^
| File "/home/name/Documents/blender/versions/blender-5.0.0-beta+v50.aceda64e198a-linux.x86_64-release/5.0/scripts/modules/_bpy_types.py", line 1027, in __setattr__
| properties = _StructRNA.path_resolve(self, "properties")
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| ReferenceError: StructRNA of type RenderTiles has been removed
RenderTiles defined in operators/render_tile_operator.py extends bpy.types.Operator and RCTRender (which does not extend any class) defined in operators/render_operator.py. TaskBuilder does not extend any class.
Snippets:
operators.render_operator.py
class RCTRender:
def __init__(self, context=None):
self.task_builder = TaskBuilder() # line which errors
@classmethod
def poll(cls, context):
return True
def execute(self, context):
def finish():
pass
return {'FINISHED'}
operators/render_tile_operator.py
class RenderTiles(RCTRender, bpy.types.Operator):
bl_idname = "render.rct_static"
bl_label = "Render RCT Static"
I looked in https://developer.blender.org/docs/release_notes/5.0/python_api/ to see if it had any information I could use to debug this, but it wasn’t clear what I was supposed to do.
Can you help?