From d72c4007562dfa7ab8b57540dc928c2d7d891dab Mon Sep 17 00:00:00 2001 From: Ryan Schultz Date: Fri, 24 Apr 2026 07:58:56 -0500 Subject: [PATCH] Fix #7999: Fix isolate_objects context for select_all op bpy.ops.object.select_all requires a VIEW_3D context to pass its poll() check. The two calls were outside the existing temp_override blocks, causing a RuntimeError when the operator was invoked from a non-3D-view area (e.g. a properties panel). Moved both calls inside the adjacent temp_override blocks. Generated with the assistance of an AI coding tool. --- src/bonsai/bonsai/tool/blender.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/bonsai/bonsai/tool/blender.py b/src/bonsai/bonsai/tool/blender.py index fac9657dbd..de0e771e06 100644 --- a/src/bonsai/bonsai/tool/blender.py +++ b/src/bonsai/bonsai/tool/blender.py @@ -1964,14 +1964,12 @@ class Blender(bonsai.core.tool.Blender): override = cls.get_viewport_context() with bpy.context.temp_override(**override): bpy.ops.object.hide_view_clear(select=False) - - bpy.ops.object.select_all(action="DESELECT") + bpy.ops.object.select_all(action="DESELECT") for obj in objs: obj.select_set(True) with bpy.context.temp_override(**override): bpy.ops.object.hide_view_set(unselected=True) - - bpy.ops.object.select_all(action="DESELECT") + bpy.ops.object.select_all(action="DESELECT") for name in previously_selected: obj = bpy.data.objects.get(name) if obj: