Changeset View
Changeset View
Standalone View
Standalone View
source/blender/editors/space_node/node_relationships.c
| Show First 20 Lines • Show All 846 Lines • ▼ Show 20 Lines | if (apply_links && link->tosock && link->fromsock) { | ||||
| } | } | ||||
| } | } | ||||
| else { | else { | ||||
| nodeRemLink(ntree, link); | nodeRemLink(ntree, link); | ||||
| } | } | ||||
| } | } | ||||
| ntree->is_updating = false; | ntree->is_updating = false; | ||||
| do_tag_update |= ED_node_is_geometry(snode); | |||||
| ntreeUpdateTree(bmain, ntree); | ntreeUpdateTree(bmain, ntree); | ||||
| snode_notify(C, snode); | snode_notify(C, snode); | ||||
| if (do_tag_update) { | if (do_tag_update) { | ||||
| snode_dag_update(C, snode); | snode_dag_update(C, snode); | ||||
| } | } | ||||
| BLI_remlink(&snode->runtime->linkdrag, nldrag); | BLI_remlink(&snode->runtime->linkdrag, nldrag); | ||||
| /* links->data pointers are either held by the tree or freed already */ | /* links->data pointers are either held by the tree or freed already */ | ||||
| ▲ Show 20 Lines • Show All 421 Lines • ▼ Show 20 Lines | LISTBASE_FOREACH_MUTABLE (bNodeLink *, link, &snode->edittree->links) { | ||||
| snode_update(snode, link->tonode); | snode_update(snode, link->tonode); | ||||
| bNode *to_node = link->tonode; | bNode *to_node = link->tonode; | ||||
| nodeRemLink(snode->edittree, link); | nodeRemLink(snode->edittree, link); | ||||
| sort_multi_input_socket_links(snode, to_node, NULL, NULL); | sort_multi_input_socket_links(snode, to_node, NULL, NULL); | ||||
| } | } | ||||
| } | } | ||||
| do_tag_update |= ED_node_is_geometry(snode); | |||||
| if (found) { | if (found) { | ||||
| ntreeUpdateTree(CTX_data_main(C), snode->edittree); | ntreeUpdateTree(CTX_data_main(C), snode->edittree); | ||||
| snode_notify(C, snode); | snode_notify(C, snode); | ||||
| if (do_tag_update) { | if (do_tag_update) { | ||||
| snode_dag_update(C, snode); | snode_dag_update(C, snode); | ||||
| } | } | ||||
| return OPERATOR_FINISHED; | return OPERATOR_FINISHED; | ||||
| ▲ Show 20 Lines • Show All 90 Lines • ▼ Show 20 Lines | if (i > 1) { | ||||
| /* Clear remaining test flags. */ | /* Clear remaining test flags. */ | ||||
| LISTBASE_FOREACH (bNodeLink *, link, &snode->edittree->links) { | LISTBASE_FOREACH (bNodeLink *, link, &snode->edittree->links) { | ||||
| if (nodeLinkIsHidden(link)) { | if (nodeLinkIsHidden(link)) { | ||||
| continue; | continue; | ||||
| } | } | ||||
| link->flag &= ~NODE_LINK_TEST; | link->flag &= ~NODE_LINK_TEST; | ||||
| } | } | ||||
| do_tag_update |= ED_node_is_geometry(snode); | |||||
| ntreeUpdateTree(CTX_data_main(C), snode->edittree); | ntreeUpdateTree(CTX_data_main(C), snode->edittree); | ||||
| snode_notify(C, snode); | snode_notify(C, snode); | ||||
| if (do_tag_update) { | if (do_tag_update) { | ||||
| snode_dag_update(C, snode); | snode_dag_update(C, snode); | ||||
| } | } | ||||
| return OPERATOR_FINISHED; | return OPERATOR_FINISHED; | ||||
| } | } | ||||
| ▲ Show 20 Lines • Show All 876 Lines • Show Last 20 Lines | |||||