[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [35197] trunk/blender/source/blender: Bugfix #26221

Ton Roosendaal ton at blender.org
Sat Feb 26 14:53:16 CET 2011


Revision: 35197
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=35197
Author:   ton
Date:     2011-02-26 13:53:15 +0000 (Sat, 26 Feb 2011)
Log Message:
-----------
Bugfix #26221

Two bugs in one:

- Lukas commit monday for new group/socket handling accidentally removed
  to set socketype in stacks, which as used by (texture) nodes to detect
  whether value, color or vector had to be read.
  Result was that all texture nodes were rendering as B&W

- Old 2.5 bug: preview renders for texture nodes didn't call a 
  NodeEndExec function, which gave crashes on deleting nodes.

The change in interface_hanlers.c is only a comment to explain
how keymaps are being found.

Modified Paths:
--------------
    trunk/blender/source/blender/blenkernel/intern/node.c
    trunk/blender/source/blender/editors/interface/interface_handlers.c
    trunk/blender/source/blender/editors/render/render_preview.c

Modified: trunk/blender/source/blender/blenkernel/intern/node.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/node.c	2011-02-26 12:26:01 UTC (rev 35196)
+++ trunk/blender/source/blender/blenkernel/intern/node.c	2011-02-26 13:53:15 UTC (rev 35197)
@@ -2318,8 +2318,15 @@
 
 			for(sock= node->inputs.first; sock; sock= sock->next) {
 				ns = get_socket_stack(ntree->stack, sock, NULL);
-				if (ns)
+				if (ns) {
 					ns->hasoutput = 1;
+					
+					/* sock type is needed to detect rgba or value or vector types */
+					if(sock->link)
+						ns->sockettype= sock->link->fromsock->type;
+					else
+						sock->ns.sockettype= sock->type;
+				}
 				
 				if(sock->link) {
 					bNodeLink *link= sock->link;

Modified: trunk/blender/source/blender/editors/interface/interface_handlers.c
===================================================================
--- trunk/blender/source/blender/editors/interface/interface_handlers.c	2011-02-26 12:26:01 UTC (rev 35196)
+++ trunk/blender/source/blender/editors/interface/interface_handlers.c	2011-02-26 13:53:15 UTC (rev 35197)
@@ -4042,6 +4042,7 @@
 	uiStyle *style= U.uistyles.first;
 	IDProperty *prop= (but->opptr)? but->opptr->data: NULL;
 	
+	/* XXX this guess_opname can potentially return a different keymap than being found on adding later... */
 	km = WM_keymap_guess_opname(C, but->optype->idname);		
 	kmi = WM_keymap_add_item(km, but->optype->idname, AKEY, KM_PRESS, 0, 0);
 

Modified: trunk/blender/source/blender/editors/render/render_preview.c
===================================================================
--- trunk/blender/source/blender/editors/render/render_preview.c	2011-02-26 12:26:01 UTC (rev 35196)
+++ trunk/blender/source/blender/editors/render/render_preview.c	2011-02-26 13:53:15 UTC (rev 35197)
@@ -1055,6 +1055,14 @@
 
 	/* unassign the pointers, reset vars */
 	preview_prepare_scene(sp->scene, NULL, GS(id->name), sp);
+	
+	/* XXX bad exception, end-exec is not being called in render, because it uses local main */
+	if(idtype == ID_TE) {
+		Tex *tex= (Tex *)id;
+		if(tex->use_nodes && tex->nodetree)
+			ntreeEndExecTree(tex->nodetree);
+	}
+
 }
 
 /* runs inside thread for material and icons */




More information about the Bf-blender-cvs mailing list