[Bf-blender-cvs] [699cefefd00] blender-v2.90-release: Fix ghash return value on 'Correct Face Attributes' with 'Keep Connect'

Germano Cavalcante noreply at git.blender.org
Thu Jul 30 00:18:25 CEST 2020


Commit: 699cefefd0093e12ca15c5430f73725e9f0d0113
Author: Germano Cavalcante
Date:   Wed Jul 29 19:17:56 2020 -0300
Branches: blender-v2.90-release
https://developer.blender.org/rB699cefefd0093e12ca15c5430f73725e9f0d0113

Fix ghash return value on 'Correct Face Attributes' with 'Keep Connect'

The result was somewhat unpredictable.
This error was recently introduced.

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

M	source/blender/editors/transform/transform_convert_mesh.c

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

diff --git a/source/blender/editors/transform/transform_convert_mesh.c b/source/blender/editors/transform/transform_convert_mesh.c
index 451903f1857..e4960e1ec71 100644
--- a/source/blender/editors/transform/transform_convert_mesh.c
+++ b/source/blender/editors/transform/transform_convert_mesh.c
@@ -1094,10 +1094,11 @@ static BMFace *mesh_customdatacorrect_face_substitute_get(BMFace *f_copy)
 #endif /* USE_FACE_SUBSTITUTE */
 
 static void mesh_customdatacorrect_init_vert(struct TransCustomDataLayer *tcld,
-                                             BMVert *v,
+                                             struct TransDataBasic *td,
                                              const int index)
 {
   BMesh *bm = tcld->bm;
+  BMVert *v = td->extra;
   BMIter liter;
   int j, l_num;
   float *loop_weights;
@@ -1149,7 +1150,7 @@ static void mesh_customdatacorrect_init_vert(struct TransCustomDataLayer *tcld,
       merge_data->cd_loop_groups = NULL;
     }
 
-    BLI_ghash_insert(tcld->merge_group.origverts, v, merge_data);
+    BLI_ghash_insert(tcld->merge_group.origverts, v, td);
   }
 }
 
@@ -1243,14 +1244,12 @@ static void mesh_customdatacorrect_init_container(TransDataContainer *tc,
 
     TransData *tob = tc->data;
     for (int j = tc->data_len; j--; tob++, i++) {
-      BMVert *v = tob->extra;
-      mesh_customdatacorrect_init_vert(tcld, v, i);
+      mesh_customdatacorrect_init_vert(tcld, (TransDataBasic *)tob, i);
     }
 
     TransDataMirror *td_mirror = tc->data_mirror;
     for (int j = tc->data_mirror_len; j--; td_mirror++, i++) {
-      BMVert *v = td_mirror->extra;
-      mesh_customdatacorrect_init_vert(tcld, v, i);
+      mesh_customdatacorrect_init_vert(tcld, (TransDataBasic *)td_mirror, i);
     }
   }



More information about the Bf-blender-cvs mailing list