Fix T103564: creating a color attribute doesn't make it active
This was the case when done via the py-API. Now also set active_color_attribute / default_color_attribute on newly created attributes (in case none exist yet). Maniphest Tasks: T103564 Differential Revision: https://developer.blender.org/D16898
This commit is contained in:
@@ -389,6 +389,17 @@ static PointerRNA rna_AttributeGroup_new(
|
|||||||
ID *id, ReportList *reports, const char *name, const int type, const int domain)
|
ID *id, ReportList *reports, const char *name, const int type, const int domain)
|
||||||
{
|
{
|
||||||
CustomDataLayer *layer = BKE_id_attribute_new(id, name, type, domain, reports);
|
CustomDataLayer *layer = BKE_id_attribute_new(id, name, type, domain, reports);
|
||||||
|
|
||||||
|
if ((GS(id->name) == ID_ME) && ELEM(layer->type, CD_PROP_COLOR, CD_PROP_BYTE_COLOR)) {
|
||||||
|
Mesh *mesh = (Mesh *)id;
|
||||||
|
if (!mesh->active_color_attribute) {
|
||||||
|
mesh->active_color_attribute = BLI_strdup(layer->name);
|
||||||
|
}
|
||||||
|
if (!mesh->default_color_attribute) {
|
||||||
|
mesh->default_color_attribute = BLI_strdup(layer->name);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
DEG_id_tag_update(id, ID_RECALC_GEOMETRY);
|
DEG_id_tag_update(id, ID_RECALC_GEOMETRY);
|
||||||
WM_main_add_notifier(NC_GEOM | ND_DATA, id);
|
WM_main_add_notifier(NC_GEOM | ND_DATA, id);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user