[Bf-blender-cvs] [33edef15ed4] master: Fix T104095: missing crazy space data while sculpting curves

Jacques Lucke noreply at git.blender.org
Tue Jan 24 14:08:57 CET 2023


Commit: 33edef15ed405281debe6bc81ae822daff25bbf4
Author: Jacques Lucke
Date:   Tue Jan 24 14:06:43 2023 +0100
Branches: master
https://developer.blender.org/rB33edef15ed405281debe6bc81ae822daff25bbf4

Fix T104095: missing crazy space data while sculpting curves

`remember_deformed_curve_positions_if_necessary` has to be called before
topology changing operations on curves. Otherwise the crazy-space data
is invalid.

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

M	source/blender/nodes/geometry/nodes/node_geo_join_geometry.cc
M	source/blender/nodes/geometry/nodes/node_geo_realize_instances.cc

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

diff --git a/source/blender/nodes/geometry/nodes/node_geo_join_geometry.cc b/source/blender/nodes/geometry/nodes/node_geo_join_geometry.cc
index d49f2583bde..18a662289aa 100644
--- a/source/blender/nodes/geometry/nodes/node_geo_join_geometry.cc
+++ b/source/blender/nodes/geometry/nodes/node_geo_join_geometry.cc
@@ -192,6 +192,10 @@ static void node_geo_exec(GeoNodeExecParams params)
   const AnonymousAttributePropagationInfo &propagation_info = params.get_output_propagation_info(
       "Geometry");
 
+  for (GeometrySet &geometry : geometry_sets) {
+    GeometryComponentEditData::remember_deformed_curve_positions_if_necessary(geometry);
+  }
+
   GeometrySet geometry_set_result;
   join_component_type<MeshComponent>(geometry_sets, geometry_set_result, propagation_info);
   join_component_type<PointCloudComponent>(geometry_sets, geometry_set_result, propagation_info);
diff --git a/source/blender/nodes/geometry/nodes/node_geo_realize_instances.cc b/source/blender/nodes/geometry/nodes/node_geo_realize_instances.cc
index 385b47a2f1e..18311e9ca58 100644
--- a/source/blender/nodes/geometry/nodes/node_geo_realize_instances.cc
+++ b/source/blender/nodes/geometry/nodes/node_geo_realize_instances.cc
@@ -34,6 +34,7 @@ static void node_geo_exec(GeoNodeExecParams params)
   }
 
   GeometrySet geometry_set = params.extract_input<GeometrySet>("Geometry");
+  GeometryComponentEditData::remember_deformed_curve_positions_if_necessary(geometry_set);
   geometry::RealizeInstancesOptions options;
   options.keep_original_ids = legacy_behavior;
   options.realize_instance_attributes = !legacy_behavior;



More information about the Bf-blender-cvs mailing list