[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [41845] trunk/blender/source/blender/ editors/space_node/node_templates.c: Fix #29238: crash with node dependency loop.
Brecht Van Lommel
brechtvanlommel at pandora.be
Mon Nov 14 21:26:23 CET 2011
Revision: 41845
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=41845
Author: blendix
Date: 2011-11-14 20:26:23 +0000 (Mon, 14 Nov 2011)
Log Message:
-----------
Fix #29238: crash with node dependency loop.
Modified Paths:
--------------
trunk/blender/source/blender/editors/space_node/node_templates.c
Modified: trunk/blender/source/blender/editors/space_node/node_templates.c
===================================================================
--- trunk/blender/source/blender/editors/space_node/node_templates.c 2011-11-14 19:45:21 UTC (rev 41844)
+++ trunk/blender/source/blender/editors/space_node/node_templates.c 2011-11-14 20:26:23 UTC (rev 41845)
@@ -552,6 +552,7 @@
bNode *lnode;
char label[UI_MAX_NAME_STR];
int indent = (depth > 1)? 2*(depth - 1): 0;
+ int dependency_loop;
if(input->flag & SOCK_UNAVAIL)
return;
@@ -560,6 +561,10 @@
node->flag |= NODE_TEST;
lnode = (input->link)? input->link->fromnode: NULL;
+ dependency_loop = (lnode && (lnode->flag & NODE_TEST));
+ if(dependency_loop)
+ lnode = NULL;
+
/* socket RNA pointer */
RNA_pointer_create(&ntree->id, &RNA_NodeSocket, input, &inputptr);
@@ -593,7 +598,11 @@
bt= block->buttons.last;
bt->flag= UI_TEXT_LEFT;
- if(lnode) {
+ if(dependency_loop) {
+ row = uiLayoutRow(split, 0);
+ uiItemL(row, "Dependency Loop", ICON_ERROR);
+ }
+ else if(lnode) {
/* input linked to a node */
uiTemplateNodeLink(split, ntree, node, input);
More information about the Bf-blender-cvs
mailing list