From 101d04f41ffbb72bf20e7c2b15f1bb868328cd03 Mon Sep 17 00:00:00 2001 From: Philipp Oeser Date: Mon, 2 Jan 2023 15:27:00 +0100 Subject: [PATCH] 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 --- source/blender/makesrna/intern/rna_attribute.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/source/blender/makesrna/intern/rna_attribute.c b/source/blender/makesrna/intern/rna_attribute.c index f2afbdcce2b..67d0e8adef5 100644 --- a/source/blender/makesrna/intern/rna_attribute.c +++ b/source/blender/makesrna/intern/rna_attribute.c @@ -389,6 +389,17 @@ static PointerRNA rna_AttributeGroup_new( ID *id, ReportList *reports, const char *name, const int type, const int domain) { 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); WM_main_add_notifier(NC_GEOM | ND_DATA, id);