[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [13693] trunk/blender/source/blender/ blenkernel/intern/depsgraph.c:
Brecht Van Lommel
brechtvanlommel at pandora.be
Thu Feb 14 22:34:28 CET 2008
Revision: 13693
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=13693
Author: blendix
Date: 2008-02-14 22:34:27 +0100 (Thu, 14 Feb 2008)
Log Message:
-----------
Bugfix: depsgraph cycle checking for armatures sometimes gave incorrect
cycle warnings.
Modified Paths:
--------------
trunk/blender/source/blender/blenkernel/intern/depsgraph.c
Modified: trunk/blender/source/blender/blenkernel/intern/depsgraph.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/depsgraph.c 2008-02-14 19:08:24 UTC (rev 13692)
+++ trunk/blender/source/blender/blenkernel/intern/depsgraph.c 2008-02-14 21:34:27 UTC (rev 13693)
@@ -2114,16 +2114,21 @@
static int node_recurs_level(DagNode *node, int level)
{
DagAdjList *itA;
-
+ int newlevel;
+
node->color= DAG_BLACK; /* done */
- level++;
+ newlevel= ++level;
for(itA= node->parent; itA; itA= itA->next) {
- if(itA->node->color==DAG_WHITE)
+ if(itA->node->color==DAG_WHITE) {
itA->node->ancestor_count= node_recurs_level(itA->node, level);
+ newlevel= MAX2(newlevel, level+itA->node->ancestor_count);
+ }
+ else
+ newlevel= MAX2(newlevel, level+itA->node->ancestor_count);
}
- return level;
+ return newlevel;
}
static void pose_check_cycle(DagForest *dag)
More information about the Bf-blender-cvs
mailing list