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--;
+ }
}
}
}
_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs