[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [11886] branches/2-44-stable/blender: fix segfault in Python NLA, was missing a null check when looping through actions.
Campbell Barton
cbarton at metavr.com
Wed Aug 29 20:47:10 CEST 2007
Revision: 11886
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=11886
Author: campbellbarton
Date: 2007-08-29 20:47:10 +0200 (Wed, 29 Aug 2007)
Log Message:
-----------
fix segfault in Python NLA, was missing a null check when looping through actions.
FBX export also raised an error when actions had no frames
Modified Paths:
--------------
branches/2-44-stable/blender/release/scripts/export_fbx.py
branches/2-44-stable/blender/source/blender/python/api2_2x/NLA.c
Modified: branches/2-44-stable/blender/release/scripts/export_fbx.py
===================================================================
--- branches/2-44-stable/blender/release/scripts/export_fbx.py 2007-08-29 17:50:22 UTC (rev 11885)
+++ branches/2-44-stable/blender/release/scripts/export_fbx.py 2007-08-29 18:47:10 UTC (rev 11886)
@@ -2148,7 +2148,7 @@
Property: "FrontAxisSign", "int", "",1
Property: "CoordAxis", "int", "",0
Property: "CoordAxisSign", "int", "",1
- Property: "UnitScaleFactor", "double", "",1
+ Property: "UnitScaleFactor", "double", "",100
}
}
''')
@@ -2399,9 +2399,15 @@
file.write('\n\tTake: "%s" {' % sane_takename(blenAction))
tmp = blenAction.getFrameNumbers()
- act_start = min(tmp)
- act_end = max(tmp)
- del tmp
+ if tmp:
+ act_start = min(tmp)
+ act_end = max(tmp)
+ del tmp
+ else:
+ # Fallback on this, theres not much else we can do? :/
+ # when an action has no length
+ act_start = start
+ act_end = end
# Set the action active
for my_bone in ob_arms:
@@ -2902,7 +2908,7 @@
if GLOBALS['EVENT'] == EVENT_FILESEL:
if GLOBALS['BATCH_ENABLE'].val:
txt = 'Batch FBX Dir'
- name = ''
+ name = Blender.sys.expandpath('//')
else:
txt = 'Export FBX'
name = Blender.sys.makename(ext='.fbx')
Modified: branches/2-44-stable/blender/source/blender/python/api2_2x/NLA.c
===================================================================
--- branches/2-44-stable/blender/source/blender/python/api2_2x/NLA.c 2007-08-29 17:50:22 UTC (rev 11885)
+++ branches/2-44-stable/blender/source/blender/python/api2_2x/NLA.c 2007-08-29 18:47:10 UTC (rev 11886)
@@ -221,18 +221,20 @@
py_list = PyList_New(0);
for(achan = self->action->chanbase.first; achan; achan = achan->next){
- for (icu = achan->ipo->curve.first; icu; icu = icu->next){
- bezt= icu->bezt;
- if(bezt) {
- verts = icu->totvert;
- while(verts--) {
- PyObject *value;
- value = PyInt_FromLong((int)bezt->vec[1][0]);
- if ( PySequence_Contains(py_list, value) == 0){
- PyList_Append(py_list, value);
+ if (achan->ipo) {
+ for (icu = achan->ipo->curve.first; icu; icu = icu->next){
+ bezt= icu->bezt;
+ if(bezt) {
+ verts = icu->totvert;
+ while(verts--) {
+ PyObject *value;
+ value = PyInt_FromLong((int)bezt->vec[1][0]);
+ if ( PySequence_Contains(py_list, value) == 0){
+ PyList_Append(py_list, value);
+ }
+ Py_DECREF(value);
+ bezt++;
}
- Py_DECREF(value);
- bezt++;
}
}
}
More information about the Bf-blender-cvs
mailing list