diff options
author | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2019-06-07 22:02:57 +0300 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2019-06-07 22:07:23 +0300 |
commit | 424566239fe97c268061e8b375029b59a5ea010f (patch) | |
tree | 37be5e6557f7fd25448304800f9f645084621e7d /intern | |
parent | 4fb441517251eb4263e282bae609db9464d43943 (diff) |
Fix T62121: Cycles crash with viewport render and smoke/pointclouds
Diffstat (limited to 'intern')
-rw-r--r-- | intern/cycles/blender/blender_session.cpp | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/intern/cycles/blender/blender_session.cpp b/intern/cycles/blender/blender_session.cpp index bb7c750078f..38d2f3f64e2 100644 --- a/intern/cycles/blender/blender_session.cpp +++ b/intern/cycles/blender/blender_session.cpp @@ -894,21 +894,22 @@ void BlenderSession::synchronize(BL::Depsgraph &b_depsgraph_) else sync->sync_camera(b_render, b_camera_override, width, height, ""); - builtin_images_load(); - - /* unlock */ - session->scene->mutex.unlock(); - /* reset if needed */ if (scene->need_reset()) { BufferParams buffer_params = BlenderSync::get_buffer_params( b_render, b_v3d, b_rv3d, scene->camera, width, height); session->reset(buffer_params, session_params.samples); + /* After session reset, so device is not accessing image data anymore. */ + builtin_images_load(); + /* reset time */ start_resize_time = 0.0; } + /* unlock */ + session->scene->mutex.unlock(); + /* Start rendering thread, if it's not running already. Do this * after all scene data has been synced at least once. */ session->start(); |