Bugfix #4460
Compositor: The option to re-render a single node, didn't free memory if nodes were in use showing exactly same RenderLayer.
This commit is contained in:
@@ -1414,6 +1414,12 @@ void NodeTagChanged(bNodeTree *ntree, bNode *node)
|
||||
if(sock->ns.data) {
|
||||
free_compbuf(sock->ns.data);
|
||||
sock->ns.data= NULL;
|
||||
|
||||
if(node->preview && node->preview->rect) {
|
||||
MEM_freeN(node->preview->rect);
|
||||
node->preview->rect= NULL;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
node->need_exec= 1;
|
||||
|
||||
@@ -284,6 +284,7 @@ static void composit_node_event(SpaceNode *snode, short event)
|
||||
bNode *node= BLI_findlink(&snode->edittree->nodes, event-B_NODE_EXEC);
|
||||
if(node) {
|
||||
NodeTagChanged(snode->edittree, node);
|
||||
NodeTagIDChanged(snode->nodetree, node->id); /* Scene-layer nodes, texture nodes, image nodes, all can be used many times */
|
||||
|
||||
/* not the best implementation of the world... but we need it to work now :) */
|
||||
if(node->type==CMP_NODE_R_LAYERS && node->custom2) {
|
||||
|
||||
Reference in New Issue
Block a user