Fix: Crash after mesh color attribute name commit

6514bb05ea missed a null check when accessing the active
and default color attribute names, since the CustomData API does not
do that check itself.
This commit is contained in:
Christophe Hery 2022-12-16 09:42:30 -06:00 committed by Hans Goudey
parent f92a85d7d2
commit 807be888a5
1 changed files with 8 additions and 4 deletions

View File

@ -544,11 +544,15 @@ static void update_active_fdata_layers(Mesh &mesh, CustomData *fdata, CustomData
}
if (CustomData_has_layer(ldata, CD_PROP_BYTE_COLOR)) {
act = CustomData_get_named_layer(ldata, CD_PROP_BYTE_COLOR, mesh.active_color_attribute);
CustomData_set_layer_active(fdata, CD_MCOL, act);
if (mesh.active_color_attribute != NULL) {
act = CustomData_get_named_layer(ldata, CD_PROP_BYTE_COLOR, mesh.active_color_attribute);
CustomData_set_layer_active(fdata, CD_MCOL, act);
}
act = CustomData_get_named_layer(ldata, CD_PROP_BYTE_COLOR, mesh.default_color_attribute);
CustomData_set_layer_render(fdata, CD_MCOL, act);
if (mesh.default_color_attribute != NULL) {
act = CustomData_get_named_layer(ldata, CD_PROP_BYTE_COLOR, mesh.default_color_attribute);
CustomData_set_layer_render(fdata, CD_MCOL, act);
}
act = CustomData_get_clone_layer(ldata, CD_PROP_BYTE_COLOR);
CustomData_set_layer_clone(fdata, CD_MCOL, act);