Fix [#21727] texture in compositor quickly results in crash

Hopefully this is correct - looks like the CompBuf->node pointer was getting left
out of the per-thread copying/localisation.
This commit is contained in:
2010-03-31 05:44:21 +00:00
parent 89cd90379f
commit 8616d22dc3
3 changed files with 8 additions and 0 deletions

View File

@@ -2573,6 +2573,8 @@ bNodeTree *ntreeLocalize(bNodeTree *ntree)
for(sock= node->outputs.first; sock; sock= sock->next) {
sock->new_sock->ns.data= sock->ns.data;
compbuf_set_node(sock->new_sock->ns.data, node->new_node);
sock->ns.data= NULL;
sock->new_sock->new_sock= sock;
}

View File

@@ -122,6 +122,11 @@ void print_compbuf(char *str, CompBuf *cbuf)
}
void compbuf_set_node(CompBuf *cbuf, bNode *node)
{
if (cbuf) cbuf->node = node;
}
/* used for disabling node (similar code in drawnode.c for disable line) */
void node_compo_pass_on(bNode *node, bNodeStack **nsin, bNodeStack **nsout)
{

View File

@@ -110,6 +110,7 @@ CompBuf *dupalloc_compbuf(CompBuf *cbuf);
CompBuf *pass_on_compbuf(CompBuf *cbuf);
void free_compbuf(CompBuf *cbuf);
void print_compbuf(char *str, CompBuf *cbuf);
void compbuf_set_node(struct CompBuf *cbuf, struct bNode *node);
void node_compo_pass_on(struct bNode *node, struct bNodeStack **nsin, struct bNodeStack **nsout);
CompBuf *get_cropped_compbuf(rcti *drect, float *rectf, int rectx, int recty, int type);