Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoshua Leung <aligorith@gmail.com>2009-11-13 04:04:01 +0300
committerJoshua Leung <aligorith@gmail.com>2009-11-13 04:04:01 +0300
commitacd7225deaad3e0dcfaf14dd1328dd292bd592f0 (patch)
tree33aa31a8d29ad996c096a14086b0ae7b970cba42 /source/blender/blenkernel/intern/fcurve.c
parente12f39d116eb87c541ec27f022cc52a35e62da8d (diff)
Driver Editing Tweaks:
* Updating dependencies for drivers now clears the disabled status of the relevant Driver FCurve too * Changing the type of ID-block used for Driver Targets and Keying Set Paths will now clear the pointer to the ID-block if it is of the wrong type.
Diffstat (limited to 'source/blender/blenkernel/intern/fcurve.c')
-rw-r--r--source/blender/blenkernel/intern/fcurve.c13
1 files changed, 9 insertions, 4 deletions
diff --git a/source/blender/blenkernel/intern/fcurve.c b/source/blender/blenkernel/intern/fcurve.c
index a1e6570608f..e8dc843dd01 100644
--- a/source/blender/blenkernel/intern/fcurve.c
+++ b/source/blender/blenkernel/intern/fcurve.c
@@ -801,8 +801,13 @@ float driver_get_target_value (ChannelDriver *driver, DriverTarget *dtar)
break;
}
}
- else if (G.f & G_DEBUG)
- printf("Driver Evaluation Error: cannot resolve target for %s -> %s \n", id->name, path);
+ else {
+ if (G.f & G_DEBUG)
+ printf("Driver Evaluation Error: cannot resolve target for %s -> %s \n", id->name, path);
+
+ driver->flag |= DRIVER_FLAG_INVALID;
+ return 0.0f;
+ }
return value;
}
@@ -924,8 +929,8 @@ static float evaluate_driver (ChannelDriver *driver, float evaltime)
}
/* use the final posed locations */
- mat4_to_quat( q1,pchan->pose_mat);
- mat4_to_quat( q2,pchan2->pose_mat);
+ mat4_to_quat(q1, pchan->pose_mat);
+ mat4_to_quat(q2, pchan2->pose_mat);
invert_qt(q1);
mul_qt_qtqt(quat, q1, q2);