Spreadsheet: fix updating active domain when component type changes
The mesh and instances case wasn't handled before.
This commit is contained in:
parent
892e5f4a9f
commit
06ae3c98eb
@ -3074,12 +3074,34 @@ static void rna_SpaceSpreadsheet_geometry_component_type_update(Main *UNUSED(bma
|
||||
PointerRNA *ptr)
|
||||
{
|
||||
SpaceSpreadsheet *sspreadsheet = (SpaceSpreadsheet *)ptr->data;
|
||||
if (sspreadsheet->geometry_component_type == GEO_COMPONENT_TYPE_POINT_CLOUD) {
|
||||
switch (sspreadsheet->geometry_component_type) {
|
||||
case GEO_COMPONENT_TYPE_MESH: {
|
||||
if (!ELEM(sspreadsheet->attribute_domain,
|
||||
ATTR_DOMAIN_POINT,
|
||||
ATTR_DOMAIN_EDGE,
|
||||
ATTR_DOMAIN_FACE,
|
||||
ATTR_DOMAIN_CORNER)) {
|
||||
sspreadsheet->attribute_domain = ATTR_DOMAIN_POINT;
|
||||
}
|
||||
if (sspreadsheet->geometry_component_type == GEO_COMPONENT_TYPE_CURVE &&
|
||||
!ELEM(sspreadsheet->attribute_domain, ATTR_DOMAIN_POINT, ATTR_DOMAIN_CURVE)) {
|
||||
break;
|
||||
}
|
||||
case GEO_COMPONENT_TYPE_POINT_CLOUD: {
|
||||
sspreadsheet->attribute_domain = ATTR_DOMAIN_POINT;
|
||||
break;
|
||||
}
|
||||
case GEO_COMPONENT_TYPE_INSTANCES: {
|
||||
sspreadsheet->attribute_domain = ATTR_DOMAIN_POINT;
|
||||
break;
|
||||
}
|
||||
case GEO_COMPONENT_TYPE_VOLUME: {
|
||||
break;
|
||||
}
|
||||
case GEO_COMPONENT_TYPE_CURVE: {
|
||||
if (!ELEM(sspreadsheet->attribute_domain, ATTR_DOMAIN_POINT, ATTR_DOMAIN_CURVE)) {
|
||||
sspreadsheet->attribute_domain = ATTR_DOMAIN_POINT;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user