[Bf-blender-cvs] [424566239fe] master: Fix T62121: Cycles crash with viewport render and smoke/pointclouds

Brecht Van Lommel noreply at git.blender.org
Fri Jun 7 22:15:37 CEST 2019


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



More information about the Bf-blender-cvs mailing list