[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [45235] trunk/blender/source/blender: Fix for the node tree nodes.new API function, this wasn' t setting the scene and main context pointers in the node template, used by file output node.

Lukas Toenne lukas.toenne at googlemail.com
Wed Mar 28 09:48:09 CEST 2012


Revision: 45235
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=45235
Author:   lukastoenne
Date:     2012-03-28 07:48:08 +0000 (Wed, 28 Mar 2012)
Log Message:
-----------
Fix for the node tree nodes.new API function, this wasn't setting the scene and main context pointers in the node template, used by file output node. Also the file output node itself now works in case of scene==NULL (might happen in some contexts).

Modified Paths:
--------------
    trunk/blender/source/blender/editors/space_node/node_templates.c
    trunk/blender/source/blender/makesrna/intern/rna_nodetree.c
    trunk/blender/source/blender/nodes/composite/nodes/node_composite_outputFile.c

Modified: trunk/blender/source/blender/editors/space_node/node_templates.c
===================================================================
--- trunk/blender/source/blender/editors/space_node/node_templates.c	2012-03-28 07:44:20 UTC (rev 45234)
+++ trunk/blender/source/blender/editors/space_node/node_templates.c	2012-03-28 07:48:08 UTC (rev 45235)
@@ -266,6 +266,8 @@
 
 	ntemp.type = arg->type;
 	ntemp.ngroup = arg->ngroup;
+	ntemp.scene = CTX_data_scene(C);
+	ntemp.main = CTX_data_main(C);
 
 	if (event == UI_NODE_LINK_DISCONNECT)
 		node_socket_disconnect(bmain, ntree, node_to, sock_to);

Modified: trunk/blender/source/blender/makesrna/intern/rna_nodetree.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_nodetree.c	2012-03-28 07:44:20 UTC (rev 45234)
+++ trunk/blender/source/blender/makesrna/intern/rna_nodetree.c	2012-03-28 07:48:08 UTC (rev 45235)
@@ -578,7 +578,7 @@
 	return item;
 }
 
-static bNode *rna_NodeTree_node_new(bNodeTree *ntree, bContext *UNUSED(C), ReportList *reports,
+static bNode *rna_NodeTree_node_new(bNodeTree *ntree, bContext *C, ReportList *reports,
                                     int type, bNodeTree *group)
 {
 	bNode *node;
@@ -591,6 +591,8 @@
 	
 	ntemp.type = type;
 	ntemp.ngroup = group;
+	ntemp.scene = CTX_data_scene(C);
+	ntemp.main = CTX_data_main(C);
 	node = nodeAddNode(ntree, &ntemp);
 	
 	if (node == NULL) {

Modified: trunk/blender/source/blender/nodes/composite/nodes/node_composite_outputFile.c
===================================================================
--- trunk/blender/source/blender/nodes/composite/nodes/node_composite_outputFile.c	2012-03-28 07:44:20 UTC (rev 45234)
+++ trunk/blender/source/blender/nodes/composite/nodes/node_composite_outputFile.c	2012-03-28 07:48:08 UTC (rev 45235)
@@ -90,15 +90,20 @@
 
 static void init_output_file(bNodeTree *ntree, bNode* node, bNodeTemplate *ntemp)
 {
-	RenderData *rd = &ntemp->scene->r;
 	NodeImageMultiFile *nimf= MEM_callocN(sizeof(NodeImageMultiFile), "node image multi file");
+	ImageFormatData *format = NULL;
 	node->storage= nimf;
 
-	BLI_strncpy(nimf->base_path, rd->pic, sizeof(nimf->base_path));
-	nimf->format = rd->im_format;
+	if (ntemp->scene) {
+		RenderData *rd = &ntemp->scene->r;
+		BLI_strncpy(nimf->base_path, rd->pic, sizeof(nimf->base_path));
+		nimf->format = rd->im_format;
+		
+		format = &rd->im_format;
+	}
 	
 	/* add one socket by default */
-	ntreeCompositOutputFileAddSocket(ntree, node, "Image", &rd->im_format);
+	ntreeCompositOutputFileAddSocket(ntree, node, "Image", format);
 }
 
 static void free_output_file(bNode *node)




More information about the Bf-blender-cvs mailing list