[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [57110] trunk/blender/source/blender: Remove the NODE_OPTIONS flag usage from node->typeinfo.

Lukas Toenne lukas.toenne at googlemail.com
Wed May 29 17:14:11 CEST 2013


Revision: 57110
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=57110
Author:   lukastoenne
Date:     2013-05-29 15:14:11 +0000 (Wed, 29 May 2013)
Log Message:
-----------
Remove the NODE_OPTIONS flag usage from node->typeinfo. This is a redundant flag which can be replaced by simply checking for nodetype->uifunc/uifuncbut callbacks (if these callbacks are defined the node
type generally supports options). Note that the node->flag still uses NODE_OPTIONS as a switch to toggle the display of such options!

Modified Paths:
--------------
    trunk/blender/source/blender/editors/space_node/node_draw.c
    trunk/blender/source/blender/editors/space_node/node_edit.c
    trunk/blender/source/blender/editors/space_node/node_templates.c
    trunk/blender/source/blender/makesrna/intern/rna_nodetree.c

Modified: trunk/blender/source/blender/editors/space_node/node_draw.c
===================================================================
--- trunk/blender/source/blender/editors/space_node/node_draw.c	2013-05-29 15:14:09 UTC (rev 57109)
+++ trunk/blender/source/blender/editors/space_node/node_draw.c	2013-05-29 15:14:11 UTC (rev 57110)
@@ -402,7 +402,7 @@
 	}
 
 	/* buttons rect? */
-	if ((node->flag & NODE_OPTIONS) && node->typeinfo->uifunc) {
+	if (node->typeinfo->uifunc && (node->flag & NODE_OPTIONS)) {
 		dy -= NODE_DYS / 2;
 
 		/* set this for uifunc() that don't use layout engine yet */

Modified: trunk/blender/source/blender/editors/space_node/node_edit.c
===================================================================
--- trunk/blender/source/blender/editors/space_node/node_edit.c	2013-05-29 15:14:09 UTC (rev 57109)
+++ trunk/blender/source/blender/editors/space_node/node_edit.c	2013-05-29 15:14:11 UTC (rev 57110)
@@ -1411,7 +1411,7 @@
 			
 			if (toggle_flag == NODE_PREVIEW && (node->typeinfo->flag & NODE_PREVIEW) == 0)
 				continue;
-			if (toggle_flag == NODE_OPTIONS && (node->typeinfo->flag & NODE_OPTIONS) == 0)
+			if (toggle_flag == NODE_OPTIONS && !(node->typeinfo->uifunc || node->typeinfo->uifuncbut))
 				continue;
 			
 			if (node->flag & toggle_flag)
@@ -1425,7 +1425,7 @@
 			
 			if (toggle_flag == NODE_PREVIEW && (node->typeinfo->flag & NODE_PREVIEW) == 0)
 				continue;
-			if (toggle_flag == NODE_OPTIONS && (node->typeinfo->flag & NODE_OPTIONS) == 0)
+			if (toggle_flag == NODE_OPTIONS && !(node->typeinfo->uifunc || node->typeinfo->uifuncbut))
 				continue;
 			
 			if ((tot_eq && tot_neq) || tot_eq == 0)

Modified: trunk/blender/source/blender/editors/space_node/node_templates.c
===================================================================
--- trunk/blender/source/blender/editors/space_node/node_templates.c	2013-05-29 15:14:09 UTC (rev 57109)
+++ trunk/blender/source/blender/editors/space_node/node_templates.c	2013-05-29 15:14:11 UTC (rev 57110)
@@ -207,7 +207,7 @@
 			break;
 
 	if (node_from)
-		if (!(node_from->inputs.first == NULL && !(node_from->typeinfo->flag & NODE_OPTIONS)))
+		if (node_from->inputs.first || node_from->typeinfo->uifunc || node_from->typeinfo->uifuncbut)
 			node_from = NULL;
 
 	if (node_prev && node_prev->type == type && node_link_item_compare(node_prev, item)) {

Modified: trunk/blender/source/blender/makesrna/intern/rna_nodetree.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_nodetree.c	2013-05-29 15:14:09 UTC (rev 57109)
+++ trunk/blender/source/blender/makesrna/intern/rna_nodetree.c	2013-05-29 15:14:11 UTC (rev 57110)
@@ -1336,9 +1336,6 @@
 	nt->freefunc_api = (have_function[5]) ? rna_Node_free : NULL;
 	nt->uifunc = (have_function[6]) ? rna_Node_draw_buttons : NULL;
 	nt->uifuncbut = (have_function[7]) ? rna_Node_draw_buttons_ext : NULL;
-	/* node buttons are only drawn if the options flag is set */
-	if (nt->uifunc || nt->uifuncbut)
-		nt->flag |= NODE_OPTIONS;
 	
 	/* sanitize size values in case not all have been registered */
 	if (nt->maxwidth < nt->minwidth)




More information about the Bf-blender-cvs mailing list