[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