[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [49507] trunk/blender/source/blender: fix for crash when node groups loose their ID pointer references ( when linked libs don't load)

Campbell Barton ideasman42 at gmail.com
Thu Aug 2 18:33:39 CEST 2012


Revision: 49507
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=49507
Author:   campbellbarton
Date:     2012-08-02 16:33:38 +0000 (Thu, 02 Aug 2012)
Log Message:
-----------
fix for crash when node groups loose their ID pointer references (when linked libs don't load)

Modified Paths:
--------------
    trunk/blender/source/blender/blenkernel/intern/material.c
    trunk/blender/source/blender/render/intern/source/pipeline.c

Modified: trunk/blender/source/blender/blenkernel/intern/material.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/material.c	2012-08-02 16:01:05 UTC (rev 49506)
+++ trunk/blender/source/blender/blenkernel/intern/material.c	2012-08-02 16:33:38 UTC (rev 49507)
@@ -1030,13 +1030,18 @@
 	bNode *node;
 
 	for (node = ntree->nodes.first; node; node = node->next) {
-		if (node->id && GS(node->id->name) == ID_MA) {
-			if (node->id == (ID *)mat)
-				return 1;
+		if (node->id) {
+			if (GS(node->id->name) == ID_MA) {
+				if (node->id == (ID *)mat) {
+					return 1;
+				}
+			}
+			else if (node->type == NODE_GROUP) {
+				if (material_in_nodetree((bNodeTree *)node->id, mat)) {
+					return 1;
+				}
+			}
 		}
-		else if (node->type == NODE_GROUP)
-			if (material_in_nodetree((bNodeTree *)node->id, mat))
-				return 1;
 	}
 
 	return 0;

Modified: trunk/blender/source/blender/render/intern/source/pipeline.c
===================================================================
--- trunk/blender/source/blender/render/intern/source/pipeline.c	2012-08-02 16:01:05 UTC (rev 49506)
+++ trunk/blender/source/blender/render/intern/source/pipeline.c	2012-08-02 16:33:38 UTC (rev 49507)
@@ -1815,8 +1815,11 @@
 			return TRUE;
 		}
 		else if (node->type == NODE_GROUP) {
-			if (node_tree_has_composite_output((bNodeTree *)node->id))
-				return TRUE;
+			if (node->id) {
+				if (node_tree_has_composite_output((bNodeTree *)node->id)) {
+					return TRUE;
+				}
+			}
 		}
 	}
 




More information about the Bf-blender-cvs mailing list