diff --git a/source/blender/nodes/composite/nodes/node_composite_cryptomatte.cc b/source/blender/nodes/composite/nodes/node_composite_cryptomatte.cc index 67d861aad9f..9193f91087a 100644 --- a/source/blender/nodes/composite/nodes/node_composite_cryptomatte.cc +++ b/source/blender/nodes/composite/nodes/node_composite_cryptomatte.cc @@ -21,6 +21,8 @@ #include "BKE_library.h" #include "BKE_main.h" +#include "MEM_guardedalloc.h" + #include /* -------------------------------------------------------------------- */ @@ -249,6 +251,7 @@ static void node_free_cryptomatte(bNode *node) NodeCryptomatte *nc = static_cast(node->storage); if (nc) { + MEM_SAFE_FREE(nc->matte_id); BLI_freelistN(&nc->runtime.layers); BLI_freelistN(&nc->entries); MEM_freeN(nc); @@ -264,6 +267,7 @@ static void node_copy_cryptomatte(bNodeTree *UNUSED(dest_ntree), BLI_duplicatelist(&dest_nc->entries, &src_nc->entries); BLI_listbase_clear(&dest_nc->runtime.layers); + dest_nc->matte_id = static_cast(MEM_dupallocN(src_nc->matte_id)); dest_node->storage = dest_nc; }