Fix #132414: Dyntopo smooth brush doesn't work with face set automasking

Previously, in 4.2, the `has_face_set` method always returned `true` for
whether or not a given vert had a given face set with dyntopo enabled.
This logic was updated to be more complete in 4.3, but the fallback
logic for when a mesh didn't have any face set data was not.

To fix this, if the corresponding BMesh doesn't have the face set
attribute, we check whether or not thet requested face set is
`SCULPT_FACE_SET_NONE`

Pull Request: https://projects.blender.org/blender/blender/pulls/132523
This commit is contained in:
Sean Kim
2025-01-01 18:50:20 +01:00
committed by Sean Kim
parent f90572c688
commit 3c5b2c3b9f

View File

@@ -279,7 +279,7 @@ bool vert_has_face_set(const SubdivCCG &subdiv_ccg,
bool vert_has_face_set(const int face_set_offset, const BMVert &vert, const int face_set)
{
if (face_set_offset == -1) {
return false;
return face_set == SCULPT_FACE_SET_NONE;
}
BMIter iter;
BMFace *face;