diff options
author | Jacques Lucke <jacques@blender.org> | 2020-02-28 15:28:16 +0300 |
---|---|---|
committer | Jacques Lucke <jacques@blender.org> | 2020-02-28 15:28:16 +0300 |
commit | c60be37f3ebf20ab9b4563d03c0acb97ecf047cc (patch) | |
tree | 9145e8306b7bcbd2b1869963464422fcf2b68e98 /source/blender/blenkernel/intern/node.c | |
parent | da1140f75e08ac5228474e5cdbb995ec7c0df579 (diff) |
Nodes: Use destructor callbacks for bNodeSocketType and bNodeType
Reviewers: brecht
Differential Revision: https://developer.blender.org/D6963
Diffstat (limited to 'source/blender/blenkernel/intern/node.c')
-rw-r--r-- | source/blender/blenkernel/intern/node.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/source/blender/blenkernel/intern/node.c b/source/blender/blenkernel/intern/node.c index 3d413b8fd62..9e52f7ea939 100644 --- a/source/blender/blenkernel/intern/node.c +++ b/source/blender/blenkernel/intern/node.c @@ -412,8 +412,9 @@ static void node_free_type(void *nodetype_v) free_dynamic_typeinfo(nodetype); } - if (nodetype->needs_free) { - MEM_freeN(nodetype); + /* Can be NULL when the type is not dynamically allocated. */ + if (nodetype->free_self) { + nodetype->free_self(nodetype); } } @@ -468,7 +469,7 @@ static void node_free_socket_type(void *socktype_v) * or we'd want to update *all* active Mains, which we cannot do anyway currently. */ update_typeinfo(G_MAIN, NULL, NULL, NULL, socktype, true); - MEM_freeN(socktype); + socktype->free_self(socktype); } void nodeRegisterSocketType(bNodeSocketType *st) |