[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [56508] trunk/blender/source/blender/ collada: Fix #35229: collada crash exporting constraints with no target set .
Brecht Van Lommel
brechtvanlommel at pandora.be
Mon May 6 13:12:00 CEST 2013
Revision: 56508
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=56508
Author: blendix
Date: 2013-05-06 11:12:00 +0000 (Mon, 06 May 2013)
Log Message:
-----------
Fix #35229: collada crash exporting constraints with no target set.
Modified Paths:
--------------
trunk/blender/source/blender/collada/AnimationExporter.cpp
trunk/blender/source/blender/collada/SceneExporter.cpp
Modified: trunk/blender/source/blender/collada/AnimationExporter.cpp
===================================================================
--- trunk/blender/source/blender/collada/AnimationExporter.cpp 2013-05-06 09:44:56 UTC (rev 56507)
+++ trunk/blender/source/blender/collada/AnimationExporter.cpp 2013-05-06 11:12:00 UTC (rev 56508)
@@ -199,12 +199,16 @@
* - ct->matrix members have not yet been calculated here!
*/
cti->get_constraint_targets(con, &targets);
- if (cti) {
- for (ct = (bConstraintTarget *)targets.first; ct; ct = ct->next) {
- obtar = ct->tar;
+
+ for (ct = (bConstraintTarget *)targets.first; ct; ct = ct->next) {
+ obtar = ct->tar;
+
+ if (obtar)
find_frames(obtar, frames);
- }
}
+
+ if (cti->flush_constraint_targets)
+ cti->flush_constraint_targets(con, &targets, 1);
}
}
}
@@ -1546,9 +1550,15 @@
cti->get_constraint_targets(con, &targets);
for (ct = (bConstraintTarget *)targets.first; ct; ct = ct->next) {
obtar = ct->tar;
- BKE_animsys_evaluate_animdata(scene, &obtar->id, obtar->adt, ctime, ADT_RECALC_ANIM);
- BKE_object_where_is_calc_time(scene, obtar, ctime);
+
+ if (obtar) {
+ BKE_animsys_evaluate_animdata(scene, &obtar->id, obtar->adt, ctime, ADT_RECALC_ANIM);
+ BKE_object_where_is_calc_time(scene, obtar, ctime);
+ }
}
+
+ if (cti->flush_constraint_targets)
+ cti->flush_constraint_targets(con, &targets, 1);
}
}
BKE_object_where_is_calc_time(scene, ob, ctime);
Modified: trunk/blender/source/blender/collada/SceneExporter.cpp
===================================================================
--- trunk/blender/source/blender/collada/SceneExporter.cpp 2013-05-06 09:44:56 UTC (rev 56507)
+++ trunk/blender/source/blender/collada/SceneExporter.cpp 2013-05-06 11:12:00 UTC (rev 56508)
@@ -215,13 +215,16 @@
Object *obtar;
cti->get_constraint_targets(con, &targets);
- if (cti) {
- for (ct = (bConstraintTarget *)targets.first; ct; ct = ct->next) {
- obtar = ct->tar;
- std::string tar_id(id_name(obtar));
- colladaNode.addExtraTechniqueChildParameter("blender",con_tag,"target_id",tar_id);
- }
+
+ for (ct = (bConstraintTarget *)targets.first; ct; ct = ct->next) {
+ obtar = ct->tar;
+ std::string tar_id((obtar) ? id_name(obtar) : "");
+ colladaNode.addExtraTechniqueChildParameter("blender",con_tag,"target_id",tar_id);
}
+
+ if (cti->flush_constraint_targets)
+ cti->flush_constraint_targets(con, &targets, 1);
+
}
con = con->next;
More information about the Bf-blender-cvs
mailing list