[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [25939] trunk/blender/source/blender: Bugfix: drivers on constraint properties could get set to invalid when
Brecht Van Lommel
brecht at blender.org
Tue Jan 12 20:51:28 CET 2010
Revision: 25939
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=25939
Author: blendix
Date: 2010-01-12 20:51:26 +0100 (Tue, 12 Jan 2010)
Log Message:
-----------
Bugfix: drivers on constraint properties could get set to invalid when
transforming, due to the evaluation of the object transform without
constraints, and the driver not finding the property.
Constraints are now disabled in a way that should avoid this problem
Modified Paths:
--------------
trunk/blender/source/blender/blenkernel/intern/object.c
trunk/blender/source/blender/editors/transform/transform_conversions.c
trunk/blender/source/blender/makesdna/DNA_object_types.h
Modified: trunk/blender/source/blender/blenkernel/intern/object.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/object.c 2010-01-12 19:47:54 UTC (rev 25938)
+++ trunk/blender/source/blender/blenkernel/intern/object.c 2010-01-12 19:51:26 UTC (rev 25939)
@@ -2035,7 +2035,7 @@
}
/* solve constraints */
- if (ob->constraints.first) {
+ if (ob->constraints.first && !(ob->flag & OB_NO_CONSTRAINTS)) {
bConstraintOb *cob;
cob= constraints_make_evalob(scene, ob, NULL, CONSTRAINT_OBTYPE_OBJECT);
Modified: trunk/blender/source/blender/editors/transform/transform_conversions.c
===================================================================
--- trunk/blender/source/blender/editors/transform/transform_conversions.c 2010-01-12 19:47:54 UTC (rev 25938)
+++ trunk/blender/source/blender/editors/transform/transform_conversions.c 2010-01-12 19:51:26 UTC (rev 25939)
@@ -4256,18 +4256,13 @@
track= ob->track;
ob->track= NULL;
- if (constinv == 0) {
- fakecons.first = ob->constraints.first;
- fakecons.last = ob->constraints.last;
- ob->constraints.first = ob->constraints.last = NULL;
- }
+ if (constinv == 0)
+ ob->transflag |= OB_NO_CONSTRAINTS; /* where_is_object_time checks this */
where_is_object(t->scene, ob);
- if (constinv == 0) {
- ob->constraints.first = fakecons.first;
- ob->constraints.last = fakecons.last;
- }
+ if (constinv == 0)
+ ob->transflag &= ~OB_NO_CONSTRAINTS;
ob->track= track;
}
Modified: trunk/blender/source/blender/makesdna/DNA_object_types.h
===================================================================
--- trunk/blender/source/blender/makesdna/DNA_object_types.h 2010-01-12 19:47:54 UTC (rev 25938)
+++ trunk/blender/source/blender/makesdna/DNA_object_types.h 2010-01-12 19:51:26 UTC (rev 25939)
@@ -334,6 +334,7 @@
#define OB_DUPLIFACES_SCALE 1024
#define OB_DUPLIPARTS 2048
#define OB_RENDER_DUPLI 4096
+#define OB_NO_CONSTRAINTS 8096 /* runtime constraints disable */
/* (short) ipoflag */
// XXX depreceated - old animation system crap
More information about the Bf-blender-cvs
mailing list