[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [52633] trunk/blender/source/blender/nodes /intern/node_socket.c: Fix normal compositing/ shader node not showing normal widget.

Brecht Van Lommel brechtvanlommel at pandora.be
Wed Nov 28 14:20:46 CET 2012


Revision: 52633
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=52633
Author:   blendix
Date:     2012-11-28 13:20:45 +0000 (Wed, 28 Nov 2012)
Log Message:
-----------
Fix normal compositing/shader node not showing normal widget.

It would actually show after save and reload, the subtype and min/max were
not properly initialized for node output sockets.

Modified Paths:
--------------
    trunk/blender/source/blender/nodes/intern/node_socket.c

Modified: trunk/blender/source/blender/nodes/intern/node_socket.c
===================================================================
--- trunk/blender/source/blender/nodes/intern/node_socket.c	2012-11-28 09:49:26 UTC (rev 52632)
+++ trunk/blender/source/blender/nodes/intern/node_socket.c	2012-11-28 13:20:45 UTC (rev 52633)
@@ -473,6 +473,35 @@
 	}
 }
 
+static void node_socket_set_minmax_subtype(bNodeSocket *sock, struct bNodeSocketTemplate *stemp)
+{
+	switch (sock->type) {
+		case SOCK_FLOAT:
+		{
+			bNodeSocketValueFloat *dval= sock->default_value;
+			dval->min = stemp->min;
+			dval->max = stemp->max;
+			dval->subtype = stemp->subtype;
+			break;
+		}
+		case SOCK_INT:
+		{
+			bNodeSocketValueInt *dval= sock->default_value;
+			dval->min = stemp->min;
+			dval->max = stemp->max;
+			dval->subtype = stemp->subtype;
+			break;
+		}
+		case SOCK_VECTOR:
+		{
+			bNodeSocketValueVector *dval= sock->default_value;
+			dval->min = stemp->min;
+			dval->max = stemp->max;
+			dval->subtype = stemp->subtype;
+			break;
+		}
+	}
+}
 
 struct bNodeSocket *node_add_input_from_template(struct bNodeTree *ntree, struct bNode *node, struct bNodeSocketTemplate *stemp)
 {
@@ -512,6 +541,7 @@
 struct bNodeSocket *node_add_output_from_template(struct bNodeTree *ntree, struct bNode *node, struct bNodeSocketTemplate *stemp)
 {
 	bNodeSocket *sock = nodeAddSocket(ntree, node, SOCK_OUT, stemp->name, stemp->type);
+	node_socket_set_minmax_subtype(sock, stemp);
 	return sock;
 }
 
@@ -532,32 +562,7 @@
 		/* Copy the property range and subtype parameters in case the template changed.
 		 * NOT copying the actual value here, only button behavior changes!
 		 */
-		switch (sock->type) {
-			case SOCK_FLOAT:
-			{
-				bNodeSocketValueFloat *dval= sock->default_value;
-				dval->min = stemp->min;
-				dval->max = stemp->max;
-				dval->subtype = stemp->subtype;
-				break;
-			}
-			case SOCK_INT:
-			{
-				bNodeSocketValueInt *dval= sock->default_value;
-				dval->min = stemp->min;
-				dval->max = stemp->max;
-				dval->subtype = stemp->subtype;
-				break;
-			}
-			case SOCK_VECTOR:
-			{
-				bNodeSocketValueVector *dval= sock->default_value;
-				dval->min = stemp->min;
-				dval->max = stemp->max;
-				dval->subtype = stemp->subtype;
-				break;
-			}
-		}
+		node_socket_set_minmax_subtype(sock, stemp);
 		
 		BLI_remlink(socklist, sock);
 		




More information about the Bf-blender-cvs mailing list