forked from bartvdbraak/blender
Call the node freestorage callback _before_ actually freeing sockets, since this is also responsible for freeing possible socket storage data.
This commit is contained in:
parent
b671f5e0de
commit
6a36b6249b
@ -903,12 +903,15 @@ void nodeFreeNode(bNodeTree *ntree, bNode *node)
|
||||
node_unlink_attached(ntree, node);
|
||||
|
||||
BLI_remlink(&ntree->nodes, node);
|
||||
|
||||
|
||||
/* since it is called while free database, node->id is undefined */
|
||||
|
||||
if (treetype->free_node_cache)
|
||||
treetype->free_node_cache(ntree, node);
|
||||
|
||||
if(node->typeinfo && node->typeinfo->freestoragefunc)
|
||||
node->typeinfo->freestoragefunc(node);
|
||||
|
||||
for (sock=node->inputs.first; sock; sock = nextsock) {
|
||||
nextsock = sock->next;
|
||||
node_socket_free_default_value(sock->type, sock->default_value);
|
||||
@ -922,10 +925,6 @@ void nodeFreeNode(bNodeTree *ntree, bNode *node)
|
||||
|
||||
nodeFreePreview(node);
|
||||
|
||||
if(node->typeinfo && node->typeinfo->freestoragefunc) {
|
||||
node->typeinfo->freestoragefunc(node);
|
||||
}
|
||||
|
||||
MEM_freeN(node);
|
||||
|
||||
ntree->update |= NTREE_UPDATE_NODES;
|
||||
|
Loading…
Reference in New Issue
Block a user