[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [44970] trunk/blender/source/blender/ editors/space_node/node_edit.c: Allow dropping image files from outside blender, or image datablocks from inside blender to the shader and texture node editors , to add an image node.

Sv. Lockal lockalsash at gmail.com
Sun Mar 18 16:12:18 CET 2012


Revision: 44970
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=44970
Author:   lockal
Date:     2012-03-18 15:12:11 +0000 (Sun, 18 Mar 2012)
Log Message:
-----------
Allow dropping image files from outside blender, or image datablocks from inside blender to the shader and texture node editors, to add an image node. Earlier this was possible only for compositing node editor.

Modified Paths:
--------------
    trunk/blender/source/blender/editors/space_node/node_edit.c

Modified: trunk/blender/source/blender/editors/space_node/node_edit.c
===================================================================
--- trunk/blender/source/blender/editors/space_node/node_edit.c	2012-03-18 11:44:14 UTC (rev 44969)
+++ trunk/blender/source/blender/editors/space_node/node_edit.c	2012-03-18 15:12:11 UTC (rev 44970)
@@ -3429,8 +3429,6 @@
 	Image *ima= NULL;
 	bNodeTemplate ntemp;
 
-	ntemp.type = -1;
-
 	/* check input variables */
 	if (RNA_struct_property_is_set(op->ptr, "filepath")) {
 		char path[FILE_MAX];
@@ -3458,12 +3456,20 @@
 	
 	node_deselect_all(snode);
 	
-	if (snode->nodetree->type==NTREE_COMPOSIT)
-		ntemp.type = CMP_NODE_IMAGE;
-
-	if (ntemp.type < 0)
-		return OPERATOR_CANCELLED;
-		
+	switch (snode->nodetree->type) {
+		case NTREE_SHADER:
+			ntemp.type = SH_NODE_TEX_IMAGE;
+			break;
+		case NTREE_TEXTURE:
+			ntemp.type = TEX_NODE_IMAGE;
+			break;
+		case NTREE_COMPOSIT:
+			ntemp.type = CMP_NODE_IMAGE;
+			break;
+		default:
+			return OPERATOR_CANCELLED;
+	}
+	
 	ED_preview_kill_jobs(C);
 	
 	node = node_add_node(snode, bmain, scene, &ntemp, snode->mx, snode->my);
@@ -3504,9 +3510,9 @@
 	ot->idname= "NODE_OT_add_file";
 	
 	/* callbacks */
-	ot->exec= node_add_file_exec;
+    ot->exec= node_add_file_exec;
 	ot->invoke= node_add_file_invoke;
-	ot->poll= composite_node_active;
+    ot->poll= ED_operator_node_active;
 	
 	/* flags */
 	ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;




More information about the Bf-blender-cvs mailing list