[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