Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGermano Cavalcante <germano.costa@ig.com.br>2020-07-30 01:17:56 +0300
committerGermano Cavalcante <germano.costa@ig.com.br>2020-07-30 01:17:56 +0300
commit699cefefd0093e12ca15c5430f73725e9f0d0113 (patch)
tree503c2dac19b98498669d7e3787609e15ca8127f6
parent81ce8481b2eb2c1e9c58f88f3744111f222c4475 (diff)
Fix ghash return value on 'Correct Face Attributes' with 'Keep Connect'
The result was somewhat unpredictable. This error was recently introduced.
-rw-r--r--source/blender/editors/transform/transform_convert_mesh.c11
1 files changed, 5 insertions, 6 deletions
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);
}
}