[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [40172] trunk/blender/source/blender/ editors/render/render_shading.c: Fixes #28599: Wrong re-assigning of layers in RenderLayer comp nodes when deleting a render layer .

Bastien Montagne montagne29 at wanadoo.fr
Mon Sep 12 19:27:02 CEST 2011


Revision: 40172
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=40172
Author:   mont29
Date:     2011-09-12 17:27:02 +0000 (Mon, 12 Sep 2011)
Log Message:
-----------
Fixes #28599: Wrong re-assigning of layers in RenderLayer comp nodes when deleting a render layer.
Also added the check of comp nodetree of all scenes, as others might also use that scene in their compositing!

Modified Paths:
--------------
    trunk/blender/source/blender/editors/render/render_shading.c

Modified: trunk/blender/source/blender/editors/render/render_shading.c
===================================================================
--- trunk/blender/source/blender/editors/render/render_shading.c	2011-09-12 15:29:37 UTC (rev 40171)
+++ trunk/blender/source/blender/editors/render/render_shading.c	2011-09-12 17:27:02 UTC (rev 40172)
@@ -529,7 +529,7 @@
 
 static int render_layer_remove_exec(bContext *C, wmOperator *UNUSED(op))
 {
-	Scene *scene= CTX_data_scene(C);
+	Scene *scene = CTX_data_scene(C), *sce;
 	SceneRenderLayer *rl;
 	int act= scene->r.actlay;
 
@@ -541,15 +541,17 @@
 	MEM_freeN(rl);
 
 	scene->r.actlay= 0;
-	
-	if(scene->nodetree) {
-		bNode *node;
-		for(node= scene->nodetree->nodes.first; node; node= node->next) {
-			if(node->type==CMP_NODE_R_LAYERS && node->id==NULL) {
-				if(node->custom1==act)
-					node->custom1= 0;
-				else if(node->custom1>act)
-					node->custom1--;
+
+	for(sce = CTX_data_main(C)->scene.first; sce; sce = sce->id.next) {
+		if(sce->nodetree) {
+			bNode *node;
+			for(node = sce->nodetree->nodes.first; node; node = node->next) {
+				if(node->type==CMP_NODE_R_LAYERS && (Scene*)node->id==scene) {
+					if(node->custom1==act)
+						node->custom1= 0;
+					else if(node->custom1>act)
+						node->custom1--;
+				}
 			}
 		}
 	}




More information about the Bf-blender-cvs mailing list