diff options
author | Philipp Oeser <info@graphics-engineer.com> | 2020-08-17 15:20:37 +0300 |
---|---|---|
committer | Jeroen Bakker <jeroen@blender.org> | 2020-08-26 12:51:09 +0300 |
commit | 1012569dfa34af159a7b8262699e3e4fdcc07085 (patch) | |
tree | 7139c3f4e25162cd73e3d56b095021ea029b44c6 | |
parent | 42434d120ba40a22cfe0cf30e9bf82b777a8bf5d (diff) |
Fix T77683: Cycles baking crash with motion blur enabled and no camera
specified
Maniphest Tasks: T77683
Differential Revision: https://developer.blender.org/D8593
-rw-r--r-- | intern/cycles/blender/blender_object.cpp | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/intern/cycles/blender/blender_object.cpp b/intern/cycles/blender/blender_object.cpp index a461982a538..fca2d0baa1c 100644 --- a/intern/cycles/blender/blender_object.cpp +++ b/intern/cycles/blender/blender_object.cpp @@ -456,15 +456,19 @@ void BlenderSync::sync_motion(BL::RenderSettings &b_render, python_thread_state_restore(python_thread_state); b_engine.frame_set(frame, subframe); python_thread_state_save(python_thread_state); - sync_camera_motion(b_render, b_cam, width, height, 0.0f); + if (b_cam) { + sync_camera_motion(b_render, b_cam, width, height, 0.0f); + } sync_objects(b_depsgraph, b_v3d, 0.0f); } /* Insert motion times from camera. Motion times from other objects * have already been added in a sync_objects call. */ - uint camera_motion_steps = object_motion_steps(b_cam, b_cam); - for (size_t step = 0; step < camera_motion_steps; step++) { - motion_times.insert(scene->camera->motion_time(step)); + if (b_cam) { + uint camera_motion_steps = object_motion_steps(b_cam, b_cam); + for (size_t step = 0; step < camera_motion_steps; step++) { + motion_times.insert(scene->camera->motion_time(step)); + } } /* note iteration over motion_times set happens in sorted order */ |