[Bf-blender-cvs] [54bd5efa688] master: Fix build error in debug builds and uninitialized structs

Hans Goudey noreply at git.blender.org
Fri Jul 30 20:29:02 CEST 2021


Commit: 54bd5efa6881dbc59f732a17593f4cf03037f9a0
Author: Hans Goudey
Date:   Fri Jul 30 14:28:55 2021 -0400
Branches: master
https://developer.blender.org/rB54bd5efa6881dbc59f732a17593f4cf03037f9a0

Fix build error in debug builds and uninitialized structs

This BMesh iterator hadn't been used in C++ code yet, and needed
a macro for a proper cast. The parameter structs need to be initialized
when declared without designated initializers.

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

M	source/blender/blenkernel/intern/mesh_remesh_voxel.cc
M	source/blender/bmesh/intern/bmesh_iterators.h

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

diff --git a/source/blender/blenkernel/intern/mesh_remesh_voxel.cc b/source/blender/blenkernel/intern/mesh_remesh_voxel.cc
index bdb5a343644..5c5d86d3e34 100644
--- a/source/blender/blenkernel/intern/mesh_remesh_voxel.cc
+++ b/source/blender/blenkernel/intern/mesh_remesh_voxel.cc
@@ -435,11 +435,10 @@ struct Mesh *BKE_mesh_remesh_voxel_fix_poles(struct Mesh *mesh)
   const BMAllocTemplate allocsize = BMALLOC_TEMPLATE_FROM_ME(mesh);
   BMesh *bm;
 
-  BMeshCreateParams bmesh_create_params;
-  bmesh_create_params.use_toolflags = true;
+  const BMeshCreateParams bmesh_create_params = {true};
   bm = BM_mesh_create(&allocsize, &bmesh_create_params);
 
-  BMeshFromMeshParams bmesh_from_mesh_params;
+  BMeshFromMeshParams bmesh_from_mesh_params{};
   bmesh_from_mesh_params.calc_face_normal = true;
   BM_mesh_bm_from_me(bm, mesh, &bmesh_from_mesh_params);
 
@@ -528,7 +527,7 @@ struct Mesh *BKE_mesh_remesh_voxel_fix_poles(struct Mesh *mesh)
                BM_ELEM_TAG);
   BM_mesh_elem_hflag_disable_all(bm, BM_VERT | BM_EDGE | BM_FACE, BM_ELEM_TAG, false);
 
-  BMeshToMeshParams bmesh_to_mesh_params;
+  BMeshToMeshParams bmesh_to_mesh_params{};
   bmesh_to_mesh_params.calc_object_remap = false;
   Mesh *result = BKE_mesh_from_bmesh_nomain(bm, &bmesh_to_mesh_params, mesh);
 
diff --git a/source/blender/bmesh/intern/bmesh_iterators.h b/source/blender/bmesh/intern/bmesh_iterators.h
index 4bb83492548..ab4427e6968 100644
--- a/source/blender/bmesh/intern/bmesh_iterators.h
+++ b/source/blender/bmesh/intern/bmesh_iterators.h
@@ -89,7 +89,7 @@ extern const char bm_iter_itype_htype_map[BM_ITYPE_MAX];
 #  define BM_ITER_MESH_MUTABLE(ele, ele_next, iter, bm, itype) \
     for (BM_CHECK_TYPE_ELEM_ASSIGN(ele) = BM_iter_new(iter, bm, itype, NULL); \
          ele ? ((void)((iter)->count = BM_iter_mesh_count(itype, bm)), \
-                (void)(ele_next = BM_iter_step(iter)), \
+                (void)(BM_CHECK_TYPE_ELEM_ASSIGN(ele_next) = BM_iter_step(iter)), \
                 1) : \
                0; \
          BM_CHECK_TYPE_ELEM_ASSIGN(ele) = ele_next)



More information about the Bf-blender-cvs mailing list