mirror of
https://github.com/blender/blender
synced 2026-09-29 04:37:17 +03:00
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:
parent
0039432cfc
commit
b3fe135854
1 changed files with 8 additions and 4 deletions
|
|
@ -252,9 +252,13 @@ 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);
|
||||
|
||||
BMeshFromMeshParams params{};
|
||||
params.calc_face_normal = true;
|
||||
BM_mesh_bm_from_me(bm, mesh_operand_ob, ¶ms);
|
||||
/* 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);
|
||||
|
||||
if (UNLIKELY(*r_is_flip)) {
|
||||
const int cd_loop_mdisp_offset = CustomData_get_offset(&bm->ldata, CD_MDISPS);
|
||||
|
|
@ -265,7 +269,7 @@ static BMesh *BMD_mesh_bm_create(
|
|||
}
|
||||
}
|
||||
|
||||
BM_mesh_bm_from_me(bm, mesh, ¶ms);
|
||||
BM_mesh_bm_from_me(bm, mesh, &bmesh_from_mesh_params);
|
||||
|
||||
return bm;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue