From 424566239fe97c268061e8b375029b59a5ea010f Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Fri, 7 Jun 2019 21:02:57 +0200 Subject: Fix T62121: Cycles crash with viewport render and smoke/pointclouds --- intern/cycles/blender/blender_session.cpp | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'intern') 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(); -- cgit v1.2.3