[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [61184] trunk/blender/source/blender/ editors/space_node/node_relationships.c: Cleanup: nice bool return value from ed_node_link_conditions function instead of using the space pointer for this .
Lukas Toenne
lukas.toenne at googlemail.com
Thu Nov 7 10:02:29 CET 2013
Revision: 61184
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=61184
Author: lukastoenne
Date: 2013-11-07 09:02:29 +0000 (Thu, 07 Nov 2013)
Log Message:
-----------
Cleanup: nice bool return value from ed_node_link_conditions function instead of using the space pointer for this.
Modified Paths:
--------------
trunk/blender/source/blender/editors/space_node/node_relationships.c
Modified: trunk/blender/source/blender/editors/space_node/node_relationships.c
===================================================================
--- trunk/blender/source/blender/editors/space_node/node_relationships.c 2013-11-07 08:40:47 UTC (rev 61183)
+++ trunk/blender/source/blender/editors/space_node/node_relationships.c 2013-11-07 09:02:29 UTC (rev 61184)
@@ -1173,52 +1173,57 @@
/* prevent duplicate testing code below */
-static SpaceNode *ed_node_link_conditions(ScrArea *sa, bNode **select)
+static bool ed_node_link_conditions(ScrArea *sa, SpaceNode **r_snode, bNode **r_select)
{
SpaceNode *snode = sa ? sa->spacedata.first : NULL;
- bNode *node;
+ bNode *node, *select = NULL;
bNodeLink *link;
+ *r_snode = snode;
+ *r_select = NULL;
+
/* no unlucky accidents */
- if (sa == NULL || sa->spacetype != SPACE_NODE) return NULL;
+ if (sa == NULL || sa->spacetype != SPACE_NODE)
+ return false;
- *select = NULL;
-
for (node = snode->edittree->nodes.first; node; node = node->next) {
if (node->flag & SELECT) {
- if (*select)
+ if (select)
break;
else
- *select = node;
+ select = node;
}
}
/* only one selected */
- if (node || *select == NULL) return NULL;
+ if (node || select == NULL)
+ return false;
/* correct node */
- if ((*select)->inputs.first == NULL || (*select)->outputs.first == NULL) return NULL;
+ if (select->inputs.first == NULL || select->outputs.first == NULL)
+ return false;
/* test node for links */
for (link = snode->edittree->links.first; link; link = link->next) {
if (nodeLinkIsHidden(link))
continue;
- if (link->tonode == *select || link->fromnode == *select)
- return NULL;
+ if (link->tonode == select || link->fromnode == select)
+ return false;
}
- return snode;
+ *r_select = select;
+ return true;
}
/* test == 0, clear all intersect flags */
void ED_node_link_intersect_test(ScrArea *sa, int test)
{
bNode *select;
- SpaceNode *snode = ed_node_link_conditions(sa, &select);
+ SpaceNode *snode;
bNodeLink *link, *selink = NULL;
float mcoords[6][2];
- if (snode == NULL) return;
+ if (!ed_node_link_conditions(sa, &snode, &select)) return;
/* clear flags */
for (link = snode->edittree->links.first; link; link = link->next)
@@ -1293,11 +1298,11 @@
void ED_node_link_insert(ScrArea *sa)
{
bNode *node, *select;
- SpaceNode *snode = ed_node_link_conditions(sa, &select);
+ SpaceNode *snode;
bNodeLink *link;
bNodeSocket *sockto;
- if (snode == NULL) return;
+ if (!ed_node_link_conditions(sa, &snode, &select)) return;
/* get the link */
for (link = snode->edittree->links.first; link; link = link->next)
More information about the Bf-blender-cvs
mailing list