[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [60542] trunk/blender/source/blender/ blenkernel/intern/node.c: Fix #36939, Objects with nodes appear in gray in viewport, using Solid shade, and the Blender Engine (or Game Engine).

Lukas Toenne lukas.toenne at googlemail.com
Fri Oct 4 10:27:55 CEST 2013


Revision: 60542
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=60542
Author:   lukastoenne
Date:     2013-10-04 08:27:54 +0000 (Fri, 04 Oct 2013)
Log Message:
-----------
Fix #36939, Objects with nodes appear in gray in viewport, using Solid shade, and the Blender Engine (or Game Engine).
The "active ID node" concept has become slightly more complex with pynodes. To find the active material or other ID links in a node tree recursively requires a hash key based on the "parent" tree of the
current node group. To avoid returning NULL in case this key is not yet initialized (i.e. ID node has not been activated yet), just accept 0 key as well for the base node tree.

Modified Paths:
--------------
    trunk/blender/source/blender/blenkernel/intern/node.c

Modified: trunk/blender/source/blender/blenkernel/intern/node.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/node.c	2013-10-04 05:53:02 UTC (rev 60541)
+++ trunk/blender/source/blender/blenkernel/intern/node.c	2013-10-04 08:27:54 UTC (rev 60542)
@@ -2321,7 +2321,7 @@
 
 static bNode *node_get_active_id_recursive(bNodeInstanceKey active_key, bNodeInstanceKey parent_key, bNodeTree *ntree, short idtype)
 {
-	if (parent_key.value == active_key.value) {
+	if (parent_key.value == active_key.value || active_key.value == 0) {
 		bNode *node;
 		for (node = ntree->nodes.first; node; node = node->next)
 			if (node->id && GS(node->id->name) == idtype)




More information about the Bf-blender-cvs mailing list