Fix T94197: Applying boolean with fast solver clears bevel weights

For boolean operations only one of the meshes was checked to determine
if bevel weights should be created.

Now initialize custom data from both meshes flag.
Note that this is a localized fix to be back-ported, further changes
will be made so edit-mode conversion accounts for this
without the caller needing explicit checks for custom-data flags.
This commit is contained in:
Campbell Barton 2022-01-18 21:17:43 +11:00
parent fce0b824a7
commit 5d7ac749c5
Notes: blender-bot 2023-02-14 10:11:49 +01:00
Referenced by issue #88449: Blender LTS: Maintenance Task 2.93
Referenced by issue #88449, Blender LTS: Maintenance Task 2.93
Referenced by issue #94197, Boolean Apply Clearing custom data layers (bevel weight Weight / Vgroup Data)
Referenced by issue #93479, 3.0 Potential candidates for corrective releases
1 changed files with 4 additions and 0 deletions

View File

@ -252,6 +252,10 @@ static BMesh *BMD_mesh_bm_create(
* otherwise the wrong active render layer is used, see T92384. */
BM_mesh_copy_init_customdata_from_mesh(bm, mesh, &allocsize);
/* NOTE(@campbellbarton): Handle in #BM_mesh_bm_from_me, this is a local fix for T94197. */
BM_mesh_cd_flag_apply(bm,
mesh->cd_flag | mesh_operand_ob->cd_flag | BM_mesh_cd_flag_from_bmesh(bm));
BMeshFromMeshParams bmesh_from_mesh_params{};
bmesh_from_mesh_params.calc_face_normal = true;
BM_mesh_bm_from_me(bm, mesh_operand_ob, &bmesh_from_mesh_params);