[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [39419] trunk/blender/source/blender/ blenkernel/intern/depsgraph.c: Fix #27718: driving modifier properties was missing updates, fixed depsgraph.

Brecht Van Lommel brechtvanlommel at pandora.be
Mon Aug 15 16:05:04 CEST 2011


Revision: 39419
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=39419
Author:   blendix
Date:     2011-08-15 14:05:04 +0000 (Mon, 15 Aug 2011)
Log Message:
-----------
Fix #27718: driving modifier properties was missing updates, fixed depsgraph.

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	2011-08-15 13:35:31 UTC (rev 39418)
+++ trunk/blender/source/blender/blenkernel/intern/depsgraph.c	2011-08-15 14:05:04 UTC (rev 39419)
@@ -301,6 +301,7 @@
 	for (fcu= adt->drivers.first; fcu; fcu= fcu->next) {
 		ChannelDriver *driver= fcu->driver;
 		DriverVar *dvar;
+		int isdata_fcu = isdata || (fcu->rna_path && strstr(fcu->rna_path, "modifiers["));
 		
 		/* loop over variables to get the target relationships */
 		for (dvar= driver->variables.first; dvar; dvar= dvar->next) {
@@ -320,14 +321,14 @@
 							( ((dtar->rna_path) && strstr(dtar->rna_path, "pose.bones[")) || 
 							  ((dtar->flag & DTAR_FLAG_STRUCT_REF) && (dtar->pchan_name[0])) )) 
 						{
-							dag_add_relation(dag, node1, node, isdata?DAG_RL_DATA_DATA:DAG_RL_DATA_OB, "Driver");
+							dag_add_relation(dag, node1, node, isdata_fcu?DAG_RL_DATA_DATA:DAG_RL_DATA_OB, "Driver");
 						}
 						/* check if ob data */
 						else if (dtar->rna_path && strstr(dtar->rna_path, "data."))
-							dag_add_relation(dag, node1, node, isdata?DAG_RL_DATA_DATA:DAG_RL_DATA_OB, "Driver");
+							dag_add_relation(dag, node1, node, isdata_fcu?DAG_RL_DATA_DATA:DAG_RL_DATA_OB, "Driver");
 						/* normal */
 						else
-							dag_add_relation(dag, node1, node, isdata?DAG_RL_OB_DATA:DAG_RL_OB_OB, "Driver");
+							dag_add_relation(dag, node1, node, isdata_fcu?DAG_RL_OB_DATA:DAG_RL_OB_OB, "Driver");
 					}
 				}
 			}




More information about the Bf-blender-cvs mailing list