Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJacques Lucke <jacques@blender.org>2020-02-28 15:28:16 +0300
committerJacques Lucke <jacques@blender.org>2020-02-28 15:28:16 +0300
commitc60be37f3ebf20ab9b4563d03c0acb97ecf047cc (patch)
tree9145e8306b7bcbd2b1869963464422fcf2b68e98 /source/blender/blenkernel/BKE_node.h
parentda1140f75e08ac5228474e5cdbb995ec7c0df579 (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.h6
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;