diff options
author | Lukas Toenne <lukas.toenne@googlemail.com> | 2011-03-02 17:13:05 +0300 |
---|---|---|
committer | Lukas Toenne <lukas.toenne@googlemail.com> | 2011-03-02 17:13:05 +0300 |
commit | 44534392543db63a49d65f619bd5995c18e367da (patch) | |
tree | 67008d67b8519cdc7248b62c428dbcb21e501944 /source/blender/makesrna | |
parent | 361b8017d2a6dde23b18b04dc6fe4c51daec1310 (diff) |
Removed tests for existing node pointers in RNA function for new links. Group node sockets don't have any specific node they belong to, so no node pointers are found.
Diffstat (limited to 'source/blender/makesrna')
-rw-r--r-- | source/blender/makesrna/intern/rna_nodetree.c | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/source/blender/makesrna/intern/rna_nodetree.c b/source/blender/makesrna/intern/rna_nodetree.c index eadb692d669..4926c695d21 100644 --- a/source/blender/makesrna/intern/rna_nodetree.c +++ b/source/blender/makesrna/intern/rna_nodetree.c @@ -601,15 +601,14 @@ static void rna_NodeTree_node_remove(bNodeTree *ntree, ReportList *reports, bNod static bNodeLink *rna_NodeTree_link_new(bNodeTree *ntree, ReportList *reports, bNodeSocket *in, bNodeSocket *out) { bNodeLink *ret; - bNode *fromnode, *tonode; + bNode *fromnode= NULL, *tonode= NULL; + int from_in_out, to_in_out; - if (!nodeFindNode(ntree, in, &fromnode, NULL, NULL)) { - BKE_reportf(reports, RPT_ERROR, "Unable to locate input socket's node in nodetree"); - return NULL; - } - - if (!nodeFindNode(ntree, out, &tonode, NULL, NULL)) { - BKE_reportf(reports, RPT_ERROR, "Unable to locate output socket's node in nodetree"); + nodeFindNode(ntree, in, &fromnode, NULL, &from_in_out); + nodeFindNode(ntree, out, &tonode, NULL, &to_in_out); + + if (&from_in_out == &to_in_out) { + BKE_reportf(reports, RPT_ERROR, "Same input/output direction of sockets"); return NULL; } |