Commit: 4332cd16fb2b1dd6f83f73232d92d037b69f3f42
Author: Jeroen Bakker
Date:   Sun Dec 8 21:53:35 2013 +0100
http://developer.blender.org/rB4332cd16fb2b1dd6f83f73232d92d037b69f3f42

Compositor node preview:

moved the hide preview logic to a method on bNodeTreeType. This way the node.c 
keeps clean, but logic could still be shared.
Implementing this per node, can lead to future errors.

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

M       source/blender/blenkernel/BKE_blender.h
M       source/blender/blenkernel/BKE_node.h
M       source/blender/blenkernel/intern/node.c
M       source/blender/nodes/composite/node_composite_tree.c

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

diff --git a/source/blender/blenkernel/BKE_blender.h 
b/source/blender/blenkernel/BKE_blender.h
index aa6932a..d1e9509 100644
--- a/source/blender/blenkernel/BKE_blender.h
+++ b/source/blender/blenkernel/BKE_blender.h
@@ -42,7 +42,7 @@ extern "C" {
  * and keep comment above the defines.
  * Use STRINGIFY() rather than defining with quotes */
 #define BLENDER_VERSION         269
-#define BLENDER_SUBVERSION      5
+#define BLENDER_SUBVERSION      6
 /* 262 was the last editmesh release but it has compatibility code for bmesh 
data */
 #define BLENDER_MINVERSION      262
 #define BLENDER_MINSUBVERSION   0
diff --git a/source/blender/blenkernel/BKE_node.h 
b/source/blender/blenkernel/BKE_node.h
index eda905a..28a4a30 100644
--- a/source/blender/blenkernel/BKE_node.h
+++ b/source/blender/blenkernel/BKE_node.h
@@ -306,6 +306,8 @@ typedef struct bNodeTreeType {
        void (*update)(struct bNodeTree *ntree);
        
        int (*validate_link)(struct bNodeTree *ntree, struct bNodeLink *link);
+
+       void (*node_add_init)(struct bNodeTree *ntree, struct bNode *bnode);
        
        /* RNA integration */
        ExtensionRNA ext;
diff --git a/source/blender/blenkernel/intern/node.c 
b/source/blender/blenkernel/intern/node.c
index 147e790..85354e4 100644
--- a/source/blender/blenkernel/intern/node.c
+++ b/source/blender/blenkernel/intern/node.c
@@ -134,16 +134,12 @@ static void node_init(const struct bContext *C, bNodeTree 
*ntree, bNode *node)
        
        node_add_sockets_from_type(ntree, node, ntype);
 
-       /* Composite node will only show previews for input classes 
-        * by default, other will be hidden 
-        * but can be made visible with the show_preview option */
-       if (ntree->typeinfo->type == NTREE_COMPOSIT && ntype->nclass != 
NODE_CLASS_INPUT) {
-               node->flag &= ~NODE_PREVIEW;
-       }       
-       
        if (ntype->initfunc != NULL)
                ntype->initfunc(ntree, node);
-       
+
+       if (ntree->typeinfo->node_add_init != NULL)
+               ntree->typeinfo->node_add_init(ntree, node);
+
        /* extra init callback */
        if (ntype->initfunc_api) {
                PointerRNA ptr;
diff --git a/source/blender/nodes/composite/node_composite_tree.c 
b/source/blender/nodes/composite/node_composite_tree.c
index 31ae464..7da3a35 100644
--- a/source/blender/nodes/composite/node_composite_tree.c
+++ b/source/blender/nodes/composite/node_composite_tree.c
@@ -218,6 +218,15 @@ static void update(bNodeTree *ntree)
        }
 }
 
+static void composite_node_add_init(bNodeTree *UNUSED(bnodetree), bNode 
*bnode) {
+       /* Composite node will only show previews for input classes 
+        * by default, other will be hidden 
+        * but can be made visible with the show_preview option */
+       if (bnode->typeinfo->nclass != NODE_CLASS_INPUT) {
+               bnode->flag &= ~NODE_PREVIEW;
+       }       
+}
+
 bNodeTreeType *ntreeType_Composite;
 
 void register_node_tree_type_cmp(void)
@@ -238,6 +247,7 @@ void register_node_tree_type_cmp(void)
        tt->local_merge = local_merge;
        tt->update = update;
        tt->get_from_context = composite_get_from_context;
+       tt->node_add_init = composite_node_add_init;
        
        tt->ext.srna = &RNA_CompositorNodeTree;

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to