Revision: 36570
          
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=36570
Author:   blendix
Date:     2011-05-09 10:40:53 +0000 (Mon, 09 May 2011)
Log Message:
-----------
Cycles: fix crash when drawing properties UI while editing node links.

Modified Paths:
--------------
    branches/cycles/source/blender/editors/interface/interface_node.c

Modified: branches/cycles/source/blender/editors/interface/interface_node.c
===================================================================
--- branches/cycles/source/blender/editors/interface/interface_node.c   
2011-05-09 10:03:06 UTC (rev 36569)
+++ branches/cycles/source/blender/editors/interface/interface_node.c   
2011-05-09 10:40:53 UTC (rev 36570)
@@ -74,7 +74,7 @@
 {
        bNodeSocket *input;
 
-       if(node->flag & NODE_TEST)
+       if(!node || (node->flag & NODE_TEST))
                return; /* in case of cycles */
        
        node->flag |= NODE_TEST;
@@ -88,7 +88,7 @@
 {
        bNodeSocket *input;
 
-       if(!(node->flag & NODE_TEST))
+       if(!node || !(node->flag & NODE_TEST))
                return; /* in case of cycles */
        
        node->flag &= ~NODE_TEST;
@@ -115,6 +115,9 @@
        bNode *node, *next;
        bNodeSocket *sock;
 
+       if(!node)
+               return;
+
        /* tag linked nodes to be removed */
        for(node=ntree->nodes.first; node; node=node->next)
                node->flag &= ~NODE_TEST;
@@ -144,7 +147,7 @@
 
 static void ui_node_sock_name(bNodeSocket *sock, char name[UI_MAX_NAME_STR])
 {
-       if(sock->link) {
+       if(sock->link && sock->link->fromnode) {
                bNode *node = sock->link->fromnode;
 
                if(node->type == NODE_GROUP)
@@ -229,7 +232,7 @@
                                        if(strcmp(sock_prev->name, 
sock_from->name) == 0 && sock_prev->type == sock_from->type) {
                                                bNodeLink *link = 
sock_prev->link;
 
-                                               if(link) {
+                                               if(link && link->fromnode) {
                                                        nodeAddLink(ntree, 
link->fromnode, link->fromsock, node_from, sock_from);
                                                        nodeRemLink(ntree, 
link);
                                                }

_______________________________________________
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to