[Bf-blender-cvs] [63930c41bc3] master: Fix Cycles viewport missing refresh when changing scene hair settings

Brecht Van Lommel noreply at git.blender.org
Wed Jun 10 19:48:30 CEST 2020


Commit: 63930c41bc3abf784d29091246b952a5c9d848b3
Author: Brecht Van Lommel
Date:   Wed Jun 10 19:03:15 2020 +0200
Branches: master
https://developer.blender.org/rB63930c41bc3abf784d29091246b952a5c9d848b3

Fix Cycles viewport missing refresh when changing scene hair settings

This code was not updated for the CoW depsgraph.

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

M	intern/cycles/blender/blender_curves.cpp
M	intern/cycles/blender/blender_sync.cpp
M	intern/cycles/blender/blender_sync.h

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

diff --git a/intern/cycles/blender/blender_curves.cpp b/intern/cycles/blender/blender_curves.cpp
index 0c87808d880..847a43c5f34 100644
--- a/intern/cycles/blender/blender_curves.cpp
+++ b/intern/cycles/blender/blender_curves.cpp
@@ -897,7 +897,7 @@ static void ExportCurveTriangleVcol(ParticleCurveData *CData, int resol, uchar4
 
 /* Hair Curve Sync */
 
-void BlenderSync::sync_curve_settings()
+void BlenderSync::sync_curve_settings(BL::Depsgraph &b_depsgraph)
 {
   PointerRNA csscene = RNA_pointer_get(&b_scene.ptr, "cycles_curves");
 
@@ -949,9 +949,9 @@ void BlenderSync::sync_curve_settings()
   }
 
   if (curve_system_manager->modified_mesh(prev_curve_system_manager)) {
-    BL::BlendData::objects_iterator b_ob;
+    BL::Depsgraph::objects_iterator b_ob;
 
-    for (b_data.objects.begin(b_ob); b_ob != b_data.objects.end(); ++b_ob) {
+    for (b_depsgraph.objects.begin(b_ob); b_ob != b_data.objects.end(); ++b_ob) {
       if (object_is_mesh(*b_ob)) {
         BL::Object::particle_systems_iterator b_psys;
         for (b_ob->particle_systems.begin(b_psys); b_psys != b_ob->particle_systems.end();
diff --git a/intern/cycles/blender/blender_sync.cpp b/intern/cycles/blender/blender_sync.cpp
index 2605799f593..09813dc8c05 100644
--- a/intern/cycles/blender/blender_sync.cpp
+++ b/intern/cycles/blender/blender_sync.cpp
@@ -212,7 +212,7 @@ void BlenderSync::sync_data(BL::RenderSettings &b_render,
   sync_film(b_v3d);
   sync_shaders(b_depsgraph, b_v3d);
   sync_images();
-  sync_curve_settings();
+  sync_curve_settings(b_depsgraph);
 
   geometry_synced.clear(); /* use for objects and motion sync */
 
diff --git a/intern/cycles/blender/blender_sync.h b/intern/cycles/blender/blender_sync.h
index f0ea5194c29..341281b18ee 100644
--- a/intern/cycles/blender/blender_sync.h
+++ b/intern/cycles/blender/blender_sync.h
@@ -162,7 +162,7 @@ class BlenderSync {
   void sync_hair(Hair *hair, BL::Object &b_ob, bool motion, int motion_step = 0);
   void sync_particle_hair(
       Geometry *geom, BL::Mesh &b_mesh, BL::Object &b_ob, bool motion, int motion_step = 0);
-  void sync_curve_settings();
+  void sync_curve_settings(BL::Depsgraph &b_depsgraph);
   bool object_has_particle_hair(BL::Object b_ob);
 
   /* Camera */



More information about the Bf-blender-cvs mailing list