[Bf-blender-cvs] [e57ce464c21] master: Fix T91600: Cycles viewport not updaing on metaball changes

Brecht Van Lommel noreply at git.blender.org
Wed Sep 22 16:08:52 CEST 2021


Commit: e57ce464c21f405edacbfb806114e3acfdcc1410
Author: Brecht Van Lommel
Date:   Wed Sep 22 15:53:04 2021 +0200
Branches: master
https://developer.blender.org/rBe57ce464c21f405edacbfb806114e3acfdcc1410

Fix T91600: Cycles viewport not updaing on metaball changes

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

M	intern/cycles/blender/blender_geometry.cpp

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

diff --git a/intern/cycles/blender/blender_geometry.cpp b/intern/cycles/blender/blender_geometry.cpp
index b1de37dac10..fca8cb9eda3 100644
--- a/intern/cycles/blender/blender_geometry.cpp
+++ b/intern/cycles/blender/blender_geometry.cpp
@@ -80,7 +80,9 @@ Geometry *BlenderSync::sync_geometry(BL::Depsgraph &b_depsgraph,
 {
   /* Test if we can instance or if the object is modified. */
   Geometry::Type geom_type = determine_geom_type(b_ob_info, use_particle_hair);
-  GeometryKey key(b_ob_info.object_data, geom_type);
+  BL::ID b_key_id = (BKE_object_is_modified(b_ob_info.real_object)) ? b_ob_info.real_object :
+                                                                      b_ob_info.object_data;
+  GeometryKey key(b_key_id.ptr.data, geom_type);
 
   /* Find shader indices. */
   array<Node *> used_shaders = find_used_shaders(b_ob_info.iter_object);
@@ -110,7 +112,7 @@ Geometry *BlenderSync::sync_geometry(BL::Depsgraph &b_depsgraph,
   }
   else {
     /* Test if we need to update existing geometry. */
-    sync = geometry_map.update(geom, b_ob_info.object_data);
+    sync = geometry_map.update(geom, b_key_id);
   }
 
   if (!sync) {



More information about the Bf-blender-cvs mailing list