Fix more issues with recent render passes code cleanup.
Ref D4133.
This commit is contained in:
@@ -316,10 +316,6 @@ static void do_versions_compositor_render_passes_storage(bNode *node)
|
||||
int pass_index = 0;
|
||||
const char *sockname;
|
||||
for (bNodeSocket *sock = node->outputs.first; sock && pass_index < 31; sock = sock->next, pass_index++) {
|
||||
if ((pass_index >= 6 && pass_index <= 8) || (pass_index >= 11 && pass_index <= 13)) {
|
||||
/* deprecated passes */
|
||||
continue;
|
||||
}
|
||||
if (sock->storage == NULL) {
|
||||
NodeImageLayer *sockdata = MEM_callocN(sizeof(NodeImageLayer), "node image layer");
|
||||
sock->storage = sockdata;
|
||||
|
||||
@@ -52,8 +52,14 @@ static bNodeSocketTemplate cmp_node_rlayers_out[] = {
|
||||
{ SOCK_VECTOR, 0, N_(RE_PASSNAME_NORMAL), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
|
||||
{ SOCK_VECTOR, 0, N_(RE_PASSNAME_UV), 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
|
||||
{ SOCK_VECTOR, 0, N_(RE_PASSNAME_VECTOR), 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
|
||||
{ SOCK_RGBA, 0, N_(RE_PASSNAME_DEPRECATED), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
|
||||
{ SOCK_RGBA, 0, N_(RE_PASSNAME_DEPRECATED), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
|
||||
{ SOCK_RGBA, 0, N_(RE_PASSNAME_DEPRECATED), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
|
||||
{ SOCK_RGBA, 0, N_(RE_PASSNAME_SHADOW), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
|
||||
{ SOCK_RGBA, 0, N_(RE_PASSNAME_AO), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
|
||||
{ SOCK_RGBA, 0, N_(RE_PASSNAME_DEPRECATED), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
|
||||
{ SOCK_RGBA, 0, N_(RE_PASSNAME_DEPRECATED), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
|
||||
{ SOCK_RGBA, 0, N_(RE_PASSNAME_DEPRECATED), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
|
||||
{ SOCK_FLOAT, 0, N_(RE_PASSNAME_INDEXOB), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
|
||||
{ SOCK_FLOAT, 0, N_(RE_PASSNAME_INDEXMA), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
|
||||
{ SOCK_FLOAT, 0, N_(RE_PASSNAME_MIST), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
|
||||
@@ -408,8 +414,11 @@ static void node_composit_free_rlayers(bNode *node)
|
||||
bNodeSocket *sock;
|
||||
|
||||
/* free extra socket info */
|
||||
for (sock = node->outputs.first; sock; sock = sock->next)
|
||||
MEM_freeN(sock->storage);
|
||||
for (sock = node->outputs.first; sock; sock = sock->next) {
|
||||
if (sock->storage) {
|
||||
MEM_freeN(sock->storage);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static void node_composit_copy_rlayers(bNodeTree *UNUSED(dest_ntree), bNode *UNUSED(dest_node), bNode *src_node)
|
||||
@@ -417,8 +426,11 @@ static void node_composit_copy_rlayers(bNodeTree *UNUSED(dest_ntree), bNode *UNU
|
||||
bNodeSocket *sock;
|
||||
|
||||
/* copy extra socket info */
|
||||
for (sock = src_node->outputs.first; sock; sock = sock->next)
|
||||
sock->new_sock->storage = MEM_dupallocN(sock->storage);
|
||||
for (sock = src_node->outputs.first; sock; sock = sock->next) {
|
||||
if (sock->storage) {
|
||||
sock->new_sock->storage = MEM_dupallocN(sock->storage);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static void cmp_node_rlayers_update(bNodeTree *ntree, bNode *node)
|
||||
|
||||
Reference in New Issue
Block a user