Commit: 424566239fe97c268061e8b375029b59a5ea010f
Author: Brecht Van Lommel
Date:   Fri Jun 7 21:02:57 2019 +0200
Branches: master
https://developer.blender.org/rB424566239fe97c268061e8b375029b59a5ea010f

Fix T62121: Cycles crash with viewport render and smoke/pointclouds

===================================================================

M       intern/cycles/blender/blender_session.cpp

===================================================================

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();

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to