diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2020-06-09 13:17:00 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2020-06-09 13:19:44 +0300 |
commit | 8522b429b56838e343c5cbe8889dcbf792e23a38 (patch) | |
tree | f87760f246bcd04b448838f18a80eb06d5b3630e /source/blender/editors | |
parent | 5620a09e0d5e929271c4faa2a763b647758072d8 (diff) |
Transform: Fixes after recent refactor
Pointed by strict compiler warnings, but some of the reports were
actually a real bugs:
- Access uninitialized memory of td_mirror_iter.
Assuming that iterator is to point to the first element of the
data array.
- Lattice's recalc data was never called.
There is also a fix for redundant declaration of recalcData() and
missing declaration of recalcData_lattice().
Diffstat (limited to 'source/blender/editors')
-rw-r--r-- | source/blender/editors/transform/transform_convert.c | 4 | ||||
-rw-r--r-- | source/blender/editors/transform/transform_convert.h | 2 | ||||
-rw-r--r-- | source/blender/editors/transform/transform_convert_mesh.c | 2 |
3 files changed, 5 insertions, 3 deletions
diff --git a/source/blender/editors/transform/transform_convert.c b/source/blender/editors/transform/transform_convert.c index e40af2feafb..fba3370dcbc 100644 --- a/source/blender/editors/transform/transform_convert.c +++ b/source/blender/editors/transform/transform_convert.c @@ -3094,9 +3094,11 @@ void recalcData(TransInfo *t) recalcData_tracking(t); break; case TC_MBALL_VERTS: - case TC_LATTICE_VERTS: recalcData_obedit(t); break; + case TC_LATTICE_VERTS: + recalcData_lattice(t); + break; case TC_PARTICLE_VERTS: recalcData_particles(t); break; diff --git a/source/blender/editors/transform/transform_convert.h b/source/blender/editors/transform/transform_convert.h index 4a6d56f6630..2465e0e99b3 100644 --- a/source/blender/editors/transform/transform_convert.h +++ b/source/blender/editors/transform/transform_convert.h @@ -57,7 +57,6 @@ void sort_trans_data_dist(TransInfo *t); void createTransData(struct bContext *C, TransInfo *t); bool clipUVTransform(TransInfo *t, float vec[2], const bool resize); void clipUVData(TransInfo *t); -void recalcData(TransInfo *t); /* transform_convert_mesh.c */ void trans_mesh_customdata_correction_init(TransInfo *t); @@ -136,6 +135,7 @@ void recalcData_gpencil_strokes(TransInfo *t); /* transform_convert_lattice.c */ void createTransLatticeVerts(TransInfo *t); +void recalcData_lattice(TransInfo *t); /* transform_convert_mask.c */ void createTransMaskingData(bContext *C, TransInfo *t); diff --git a/source/blender/editors/transform/transform_convert_mesh.c b/source/blender/editors/transform/transform_convert_mesh.c index 6bee3760f4d..710ddf60176 100644 --- a/source/blender/editors/transform/transform_convert_mesh.c +++ b/source/blender/editors/transform/transform_convert_mesh.c @@ -535,7 +535,7 @@ static TransDataMirror *editmesh_mirror_data_calc(BMEditMesh *em, TransDataMirror *td_mirror_iter, *td_mirror = NULL; if (mirror_elem_len != 0) { td_mirror = MEM_mallocN(mirror_elem_len * sizeof(*td_mirror), __func__); - td_mirror_iter = &td_mirror_iter[0]; + td_mirror_iter = &td_mirror[0]; *r_mirror_bitmap = BLI_BITMAP_NEW(bm->totvert, __func__); |