Cleanup: Avoid using invalid attribute domain

The number of attribute domains isn't an attribute domain, so storing
ATTR_DOMAIN_NUM in a variable with an eAttrDomain type isn't correct.
In the cases it was used, the value wouldn't be accessed anyway.
This commit is contained in:
Hans Goudey 2022-08-23 10:44:02 -04:00
parent c32bb58e5b
commit b649fc13ed
4 changed files with 10 additions and 9 deletions

View File

@ -1698,7 +1698,7 @@ static void sculpt_update_object(Depsgraph *depsgraph,
ss->mcol = NULL;
ss->vcol_type = -1;
ss->vcol_domain = ATTR_DOMAIN_NUM;
ss->vcol_domain = ATTR_DOMAIN_POINT;
}
}

View File

@ -1275,7 +1275,7 @@ bool BKE_pbvh_get_color_layer(const Mesh *me, CustomDataLayer **r_layer, eAttrDo
if (!layer || !ELEM(layer->type, CD_PROP_COLOR, CD_PROP_BYTE_COLOR)) {
*r_layer = NULL;
*r_attr = ATTR_DOMAIN_NUM;
*r_attr = ATTR_DOMAIN_POINT;
return false;
}
@ -1283,7 +1283,7 @@ bool BKE_pbvh_get_color_layer(const Mesh *me, CustomDataLayer **r_layer, eAttrDo
if (!ELEM(domain, ATTR_DOMAIN_POINT, ATTR_DOMAIN_CORNER)) {
*r_layer = NULL;
*r_attr = ATTR_DOMAIN_NUM;
*r_attr = ATTR_DOMAIN_POINT;
return false;
}

View File

@ -1669,11 +1669,12 @@ static void sculpt_undo_set_active_layer(struct bContext *C, SculptAttrRef *attr
*/
if (!layer) {
layer = BKE_id_attribute_search(&me->id, attr->name, CD_MASK_PROP_ALL, ATTR_DOMAIN_MASK_ALL);
eAttrDomain domain = layer ? BKE_id_attribute_domain(&me->id, layer) : ATTR_DOMAIN_NUM;
if (layer && ED_geometry_attribute_convert(
me, attr->name, layer->type, domain, attr->type, attr->domain)) {
layer = BKE_id_attribute_find(&me->id, attr->name, attr->type, attr->domain);
if (layer) {
const eAttrDomain domain = BKE_id_attribute_domain(&me->id, layer);
if (ED_geometry_attribute_convert(
me, attr->name, layer->type, domain, attr->type, attr->domain)) {
layer = BKE_id_attribute_find(&me->id, attr->name, attr->type, attr->domain);
}
}
}

View File

@ -1324,7 +1324,7 @@ bool GPU_pbvh_attribute_names_update(PBVHType pbvh_type,
eAttrDomain active_color_domain = active_color_layer ?
BKE_id_attribute_domain(&me_query.id,
active_color_layer) :
ATTR_DOMAIN_NUM;
ATTR_DOMAIN_POINT;
GPUAttrRef vcol_layers[MAX_GPU_ATTR];
int totlayer = gpu_pbvh_make_attr_offs(ATTR_DOMAIN_MASK_COLOR,