[Bf-blender-cvs] [12bde317f4c] master: Fix T98949: Deleting vertex group in geometry nodes affects others

Hans Goudey noreply at git.blender.org
Fri Jun 24 23:40:10 CEST 2022


Commit: 12bde317f4c94d48a154c8815ad910ccdd73be74
Author: Hans Goudey
Date:   Fri Jun 24 16:39:58 2022 -0500
Branches: master
https://developer.blender.org/rB12bde317f4c94d48a154c8815ad910ccdd73be74

Fix T98949: Deleting vertex group in geometry nodes affects others

The vertex group indices stored in the weights need to be accounted for
when the vertex group list on the mesh changes.

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

M	source/blender/blenkernel/intern/geometry_component_mesh.cc

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

diff --git a/source/blender/blenkernel/intern/geometry_component_mesh.cc b/source/blender/blenkernel/intern/geometry_component_mesh.cc
index 88ea1af8a8d..9e64acf218b 100644
--- a/source/blender/blenkernel/intern/geometry_component_mesh.cc
+++ b/source/blender/blenkernel/intern/geometry_component_mesh.cc
@@ -1092,6 +1092,11 @@ class VertexGroupsAttributeProvider final : public DynamicAttributesProvider {
     for (MDeformVert &dvert : MutableSpan(mesh->dvert, mesh->totvert)) {
       MDeformWeight *weight = BKE_defvert_find_index(&dvert, index);
       BKE_defvert_remove_group(&dvert, weight);
+      for (MDeformWeight &weight : MutableSpan(dvert.dw, dvert.totweight)) {
+        if (weight.def_nr > index) {
+          weight.def_nr--;
+        }
+      }
     }
     return true;
   }



More information about the Bf-blender-cvs mailing list