[Bf-blender-cvs] [5a8644b] master: Fix T41721: Muting render layer input nodes has no effect

Sergey Sharybin noreply at git.blender.org
Fri Sep 5 12:03:11 CEST 2014


Commit: 5a8644bd97341136b01dea4afdefe4e0929bbc3d
Author: Sergey Sharybin
Date:   Fri Sep 5 16:01:52 2014 +0600
Branches: master
https://developer.blender.org/rB5a8644bd97341136b01dea4afdefe4e0929bbc3d

Fix T41721: Muting render layer input nodes has no effect

===================================================================

M	source/blender/render/intern/source/pipeline.c

===================================================================

diff --git a/source/blender/render/intern/source/pipeline.c b/source/blender/render/intern/source/pipeline.c
index 1b7ce9a..8469d8c 100644
--- a/source/blender/render/intern/source/pipeline.c
+++ b/source/blender/render/intern/source/pipeline.c
@@ -1728,7 +1728,7 @@ static int composite_needs_render(Scene *sce, int this_scene)
 	if ((sce->r.scemode & R_DOCOMP) == 0) return 1;
 	
 	for (node = ntree->nodes.first; node; node = node->next) {
-		if (node->type == CMP_NODE_R_LAYERS)
+		if (node->type == CMP_NODE_R_LAYERS && (node->flag & NODE_MUTED) == 0)
 			if (this_scene == 0 || node->id == NULL || node->id == &sce->id)
 				return 1;
 	}
@@ -1867,7 +1867,7 @@ static void tag_scenes_for_render(Render *re)
 	/* check for render-layers nodes using other scenes, we tag them LIB_DOIT */
 	for (node = re->scene->nodetree->nodes.first; node; node = node->next) {
 		node->flag &= ~NODE_TEST;
-		if (node->type == CMP_NODE_R_LAYERS) {
+		if (node->type == CMP_NODE_R_LAYERS && (node->flag & NODE_MUTED) == 0) {
 			if (node->id) {
 				if (!MAIN_VERSION_ATLEAST(re->main, 265, 5)) {
 					if (rlayer_node_uses_alpha(re->scene->nodetree, node)) {
@@ -1916,7 +1916,7 @@ static void ntree_render_scenes(Render *re)
 	/* now foreach render-result node tagged we do a full render */
 	/* results are stored in a way compisitor will find it */
 	for (node = re->scene->nodetree->nodes.first; node; node = node->next) {
-		if (node->type == CMP_NODE_R_LAYERS) {
+		if (node->type == CMP_NODE_R_LAYERS && (node->flag & NODE_MUTED) == 0) {
 			if (node->id && node->id != (ID *)re->scene) {
 				if (node->flag & NODE_TEST) {
 					Scene *scene = (Scene *)node->id;
@@ -2202,7 +2202,7 @@ void RE_MergeFullSample(Render *re, Main *bmain, Scene *sce, bNodeTree *ntree)
 #endif
 
 	for (node = ntree->nodes.first; node; node = node->next) {
-		if (node->type == CMP_NODE_R_LAYERS) {
+		if (node->type == CMP_NODE_R_LAYERS && (node->flag & NODE_MUTED) == 0) {
 			Scene *nodescene = (Scene *)node->id;
 			
 			if (nodescene == NULL) nodescene = sce;
@@ -2497,7 +2497,7 @@ static bool check_valid_compositing_camera(Scene *scene, Object *camera_override
 		bNode *node = scene->nodetree->nodes.first;
 
 		while (node) {
-			if (node->type == CMP_NODE_R_LAYERS) {
+			if (node->type == CMP_NODE_R_LAYERS && (node->flag & NODE_MUTED) == 0) {
 				Scene *sce = node->id ? (Scene *)node->id : scene;
 
 				if (!sce->camera && !BKE_scene_camera_find(sce)) {




More information about the Bf-blender-cvs mailing list