Revision: 49544
          
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=49544
Author:   campbellbarton
Date:     2012-08-03 23:44:19 +0000 (Fri, 03 Aug 2012)
Log Message:
-----------
dont re-combute composite nodes when knife and add-socket operators don't add 
any links.

Modified Paths:
--------------
    trunk/blender/source/blender/editors/space_node/node_add.c
    trunk/blender/source/blender/editors/space_node/node_relationships.c

Modified: trunk/blender/source/blender/editors/space_node/node_add.c
===================================================================
--- trunk/blender/source/blender/editors/space_node/node_add.c  2012-08-03 
22:52:59 UTC (rev 49543)
+++ trunk/blender/source/blender/editors/space_node/node_add.c  2012-08-03 
23:44:19 UTC (rev 49544)
@@ -155,13 +155,14 @@
                bNodeLink *link;
                float insertPoint[2];
 
-               ED_preview_kill_jobs(C);
-
                for (link = snode->edittree->links.first; link; link = 
link->next) {
                        if (add_reroute_intersect_check(link, mcoords, i, 
insertPoint)) {
                                bNodeTemplate ntemp;
                                bNode *rerouteNode;
 
+                               /* always first */
+                               ED_preview_kill_jobs(C);
+
                                node_deselect_all(snode);
 
                                ntemp.type = NODE_REROUTE;
@@ -178,15 +179,17 @@
                                link->fromnode = rerouteNode;
                                link->fromsock = rerouteNode->outputs.first;
 
-                               break; // add one reroute at the time.
+                               /* always last */
+                               ntreeUpdateTree(snode->edittree);
+                               snode_notify(C, snode);
+                               snode_dag_update(C, snode);
+
+                               return OPERATOR_FINISHED; // add one reroute at 
the time.
                        }
                }
 
-               ntreeUpdateTree(snode->edittree);
-               snode_notify(C, snode);
-               snode_dag_update(C, snode);
+               return OPERATOR_CANCELLED;
 
-               return OPERATOR_FINISHED;
        }
 
        return OPERATOR_CANCELLED | OPERATOR_PASS_THROUGH;

Modified: trunk/blender/source/blender/editors/space_node/node_relationships.c
===================================================================
--- trunk/blender/source/blender/editors/space_node/node_relationships.c        
2012-08-03 22:52:59 UTC (rev 49543)
+++ trunk/blender/source/blender/editors/space_node/node_relationships.c        
2012-08-03 23:44:19 UTC (rev 49544)
@@ -836,24 +836,35 @@
        RNA_END;
 
        if (i > 1) {
+               int found = FALSE;
                bNodeLink *link, *next;
 
-               ED_preview_kill_jobs(C);
-
                for (link = snode->edittree->links.first; link; link = next) {
                        next = link->next;
 
                        if (cut_links_intersect(link, mcoords, i)) {
+
+                               if (found == FALSE) {
+                                       ED_preview_kill_jobs(C);
+                                       found = TRUE;
+                               }
+
                                snode_update(snode, link->tonode);
                                nodeRemLink(snode->edittree, link);
                        }
                }
 
-               ntreeUpdateTree(snode->edittree);
-               snode_notify(C, snode);
-               snode_dag_update(C, snode);
+               if (found) {
+                       ntreeUpdateTree(snode->edittree);
+                       snode_notify(C, snode);
+                       snode_dag_update(C, snode);
 
-               return OPERATOR_FINISHED;
+                       return OPERATOR_FINISHED;
+               }
+               else {
+                       return OPERATOR_CANCELLED;
+               }
+
        }
 
        return OPERATOR_CANCELLED | OPERATOR_PASS_THROUGH;

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

Reply via email to