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/BKE_node.h | |
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/BKE_node.h')
-rw-r--r-- | source/blender/blenkernel/BKE_node.h | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/source/blender/blenkernel/BKE_node.h b/source/blender/blenkernel/BKE_node.h index 712e97a77f0..ee02fabe6a8 100644 --- a/source/blender/blenkernel/BKE_node.h +++ b/source/blender/blenkernel/BKE_node.h @@ -141,6 +141,9 @@ typedef struct bNodeSocketType { /* for standard socket types in C */ int type, subtype; + + /* Callback to free the socket type. */ + void (*free_self)(struct bNodeSocketType *stype); } bNodeSocketType; typedef void *(*NodeInitExecFunction)(struct bNodeExecContext *context, @@ -167,7 +170,6 @@ typedef int (*NodeGPUExecFunction)(struct GPUMaterial *mat, */ typedef struct bNodeType { void *next, *prev; - short needs_free; /* set for allocated types that need to be freed */ char idname[64]; /* identifier name */ int type; @@ -247,6 +249,8 @@ typedef struct bNodeType { /* Update the internal links list, for muting and disconnect operators. */ void (*update_internal_links)(struct bNodeTree *, struct bNode *node); + void (*free_self)(struct bNodeType *ntype); + /* **** execution callbacks **** */ NodeInitExecFunction initexecfunc; NodeFreeExecFunction freeexecfunc; |