Commit: 0da8957bc59bd06afc416e24ebe1d0597751fd32
Author: Dalai Felinto
Date:   Fri Dec 16 16:03:00 2016 +0100
Branches: render-layers
https://developer.blender.org/rB0da8957bc59bd06afc416e24ebe1d0597751fd32

>From review: move nodetree syncing of layers to util function

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

M       source/blender/blenkernel/BKE_node.h
M       source/blender/blenkernel/intern/layer.c
M       source/blender/blenkernel/intern/node.c
M       source/blender/blenkernel/intern/scene.c

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

diff --git a/source/blender/blenkernel/BKE_node.h 
b/source/blender/blenkernel/BKE_node.h
index 546f0d9..d23766b 100644
--- a/source/blender/blenkernel/BKE_node.h
+++ b/source/blender/blenkernel/BKE_node.h
@@ -687,6 +687,15 @@ bool BKE_node_tree_iter_step(struct NodeTreeIterStore 
*ntreeiter,
 }
 /** \} */
 
+
+/* -------------------------------------------------------------------- */
+/** \name Node Tree
+ */
+
+void BKE_nodetree_remove_layer_n(struct bNodeTree *ntree, struct Scene *scene, 
const int layer_index);
+
+/** \} */
+
 /* -------------------------------------------------------------------- */
 /** \name Shader Nodes
  */
diff --git a/source/blender/blenkernel/intern/layer.c 
b/source/blender/blenkernel/intern/layer.c
index a1d1e96..5f4aadf 100644
--- a/source/blender/blenkernel/intern/layer.c
+++ b/source/blender/blenkernel/intern/layer.c
@@ -90,15 +90,7 @@ bool BKE_scene_layer_remove(Main *bmain, Scene *scene, 
SceneLayer *sl)
 
        for (Scene *sce = bmain->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--;
-                               }
-                       }
+                       BKE_nodetree_remove_layer_n(sce->nodetree, scene, act);
                }
        }
 
diff --git a/source/blender/blenkernel/intern/node.c 
b/source/blender/blenkernel/intern/node.c
index f16e8f3..cb3bc39 100644
--- a/source/blender/blenkernel/intern/node.c
+++ b/source/blender/blenkernel/intern/node.c
@@ -3775,3 +3775,20 @@ bool BKE_node_tree_iter_step(struct NodeTreeIterStore 
*ntreeiter,
 
        return true;
 }
+
+/* -------------------------------------------------------------------- */
+/* NodeTree kernel functions */
+
+void BKE_nodetree_remove_layer_n(bNodeTree *ntree, Scene *scene, const int 
layer_index)
+{
+       for (bNode *node = ntree->nodes.first; node; node = node->next) {
+               if (node->type == CMP_NODE_R_LAYERS && (Scene *)node->id == 
scene) {
+                       if (node->custom1 == layer_index) {
+                               node->custom1 = 0;
+                       }
+                       else if (node->custom1 > layer_index) {
+                               node->custom1--;
+                       }
+               }
+       }
+}
diff --git a/source/blender/blenkernel/intern/scene.c 
b/source/blender/blenkernel/intern/scene.c
index e634fea..d850798 100644
--- a/source/blender/blenkernel/intern/scene.c
+++ b/source/blender/blenkernel/intern/scene.c
@@ -2131,15 +2131,7 @@ bool BKE_scene_remove_render_layer(Main *bmain, Scene 
*scene, SceneRenderLayer *
 
        for (sce = bmain->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--;
-                               }
-                       }
+                       BKE_nodetree_remove_layer_n(sce->nodetree, scene, act);
                }
        }

_______________________________________________
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to