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);
 

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to