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:
Ton Roosendaal
2006-06-25 12:00:34 +00:00
parent eacb3c4b45
commit 7e081266a9
2 changed files with 7 additions and 0 deletions

View File

@@ -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;

View File

@@ -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) {