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:
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
{
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user