Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/intern
diff options
context:
space:
mode:
authorKévin Dietrich <kevin.dietrich@mailoo.org>2020-11-04 18:29:06 +0300
committerKévin Dietrich <kevin.dietrich@mailoo.org>2020-11-04 18:35:00 +0300
commitc937f9c4e76c04cc245775d39cd2684e65515863 (patch)
treed74e72915d7e8cc08c0d8c92927c69dd02e44864 /intern
parent0802e9cf54f6858c8ad3ea91910eab6a51486b0a (diff)
Cycles: fix another race condition in Geometry synchronization
This was forgotten in the previous fix, we should not modify sockets updated in a separated thread.
Diffstat (limited to 'intern')
-rw-r--r--intern/cycles/blender/blender_curves.cpp2
-rw-r--r--intern/cycles/blender/blender_mesh.cpp2
2 files changed, 2 insertions, 2 deletions
diff --git a/intern/cycles/blender/blender_curves.cpp b/intern/cycles/blender/blender_curves.cpp
index 9070c093492..40f7a8c8c11 100644
--- a/intern/cycles/blender/blender_curves.cpp
+++ b/intern/cycles/blender/blender_curves.cpp
@@ -848,7 +848,7 @@ void BlenderSync::sync_hair(BL::Depsgraph b_depsgraph, BL::Object b_ob, Hair *ha
for (const SocketType &socket : new_hair.type->inputs) {
/* Those sockets are updated in sync_object, so do not modify them. */
- if (socket.name == "use_motion_blur" || socket.name == "motion_steps") {
+ if (socket.name == "use_motion_blur" || socket.name == "motion_steps" || socket.name == "used_shaders") {
continue;
}
hair->set_value(socket, new_hair, socket);
diff --git a/intern/cycles/blender/blender_mesh.cpp b/intern/cycles/blender/blender_mesh.cpp
index d84433ecd27..e87d87419d0 100644
--- a/intern/cycles/blender/blender_mesh.cpp
+++ b/intern/cycles/blender/blender_mesh.cpp
@@ -1065,7 +1065,7 @@ void BlenderSync::sync_mesh(BL::Depsgraph b_depsgraph, BL::Object b_ob, Mesh *me
for (const SocketType &socket : new_mesh.type->inputs) {
/* Those sockets are updated in sync_object, so do not modify them. */
- if (socket.name == "use_motion_blur" || socket.name == "motion_steps") {
+ if (socket.name == "use_motion_blur" || socket.name == "motion_steps" || socket.name == "used_shaders") {
continue;
}
mesh->set_value(socket, new_mesh, socket);