Revision: 43761
          
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=43761
Author:   lukastoenne
Date:     2012-01-30 08:48:11 +0000 (Mon, 30 Jan 2012)
Log Message:
-----------
Make Image and Alpha outputs in render layer node 'unavailable' when the 
Combined pass is not active in the render layer. Fix for bug #29999.

The internal code for render layers node is unchanged, since the buffer is 
created anyway. Also noticed that, while unavailable sockets and links to/from 
them are not displayed, they are still used in execution, which could lead to 
unexpected results. But that's a more general problem with the way 
(pseudo-)dynamic sockets are simply flagged with SOCK_UNAVAIL.

Modified Paths:
--------------
    trunk/blender/source/blender/nodes/composite/node_composite_tree.c

Modified: trunk/blender/source/blender/nodes/composite/node_composite_tree.c
===================================================================
--- trunk/blender/source/blender/nodes/composite/node_composite_tree.c  
2012-01-30 08:45:12 UTC (rev 43760)
+++ trunk/blender/source/blender/nodes/composite/node_composite_tree.c  
2012-01-30 08:48:11 UTC (rev 43761)
@@ -660,6 +660,13 @@
        for(sock= node->outputs.first; sock; sock= sock->next)
                sock->flag &= ~SOCK_UNAVAIL;
        
+       if(!(passflag & SCE_PASS_COMBINED)) {
+               sock= BLI_findlink(&node->outputs, RRES_OUT_IMAGE);
+               sock->flag |= SOCK_UNAVAIL;
+               sock= BLI_findlink(&node->outputs, RRES_OUT_ALPHA);
+               sock->flag |= SOCK_UNAVAIL;
+       }
+       
        sock= BLI_findlink(&node->outputs, RRES_OUT_Z);
        if(!(passflag & SCE_PASS_Z)) sock->flag |= SOCK_UNAVAIL;
        sock= BLI_findlink(&node->outputs, RRES_OUT_NORMAL);

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to