Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--release/scripts/modules/bl_previews_utils/bl_previews_render.py35
1 files changed, 21 insertions, 14 deletions
diff --git a/release/scripts/modules/bl_previews_utils/bl_previews_render.py b/release/scripts/modules/bl_previews_utils/bl_previews_render.py
index 0ef49601c43..e9c6270a177 100644
--- a/release/scripts/modules/bl_previews_utils/bl_previews_render.py
+++ b/release/scripts/modules/bl_previews_utils/bl_previews_render.py
@@ -320,14 +320,17 @@ def do_previews(do_objects, do_groups, do_scenes, do_data_intern):
prev_scenename = bpy.context.screen.scene.name
if do_objects:
- prev_shown = tuple(ob.hide_render for ob in bpy.data.objects)
- for ob in bpy.data.objects:
+ data_objects_names = tuple(ob.name for ob in bpy.data.objects)
+ prev_shown = tuple(bpy.data.objects[obname].hide_render for obname in data_objects_names)
+ for obname in data_objects_names:
+ ob = bpy.data.objects[obname]
if ob in objects_ignored:
continue
ob.hide_render = True
- for root in bpy.data.objects:
- if root.name in objects_ignored:
+ for root_name in data_objects_names:
+ if root_name in objects_ignored:
continue
+ root = bpy.data.objects[root_name]
if root.type not in OBJECT_TYPES_RENDER:
continue
objects = (root.name,)
@@ -366,13 +369,15 @@ def do_previews(do_objects, do_groups, do_scenes, do_data_intern):
scene.objects.unlink(ob)
ob.hide_render = True
- for ob, is_rendered in zip(bpy.data.objects, prev_shown):
- ob.hide_render = is_rendered
+ for obname, is_rendered in zip(data_objects_names, prev_shown):
+ bpy.data.objects[obname].hide_render = is_rendered
if do_groups:
- for grp in bpy.data.groups:
- if grp.name in groups_ignored:
+ data_groups_names = tuple(grp.name for grp in bpy.data.groups)
+ for grpname in data_groups_names:
+ if grpname in groups_ignored:
continue
+ grp = bpy.data.groups[grpname]
objects = tuple(ob.name for ob in grp.objects)
render_engine = objects_render_engine_guess(objects)
@@ -400,19 +405,21 @@ def do_previews(do_objects, do_groups, do_scenes, do_data_intern):
do_save = False # Do not save file if something went wrong here, we could 'pollute' it with temp data...
if do_scenes:
- for scene in bpy.data.scenes:
- has_camera = scene.camera is not None
- bpy.context.screen.scene = scene
+ data_scenes_names = tuple(sce.name for sce in bpy.data.scenes)
+ for scename in data_scenes_names:
+ sce = bpy.data.scenes[scename]
+ has_camera = sce.camera is not None
+ bpy.context.screen.scene = sce
render_context = render_context_create('__SCENE', objects_ignored)
- scene.update()
+ sce.update()
objects = None
if not has_camera:
# We had to add a temp camera, now we need to place it to see interesting objects!
- objects = tuple(ob.name for ob in scene.objects
+ objects = tuple(ob.name for ob in sce.objects
if (not ob.hide_render) and (ob.type in OBJECT_TYPES_RENDER))
- preview_render_do(render_context, 'scenes', scene.name, objects)
+ preview_render_do(render_context, 'scenes', sce.name, objects)
if not render_context_delete(render_context):
do_save = False