[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [15397] trunk/blender/source/gameengine/ Converter/BL_ActionActuator.cpp: bugfix, ActionActuator was missing many checks for PyArg_ParseTuple failing.
Campbell Barton
ideasman42 at gmail.com
Tue Jul 1 15:22:29 CEST 2008
Revision: 15397
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=15397
Author: campbellbarton
Date: 2008-07-01 15:21:37 +0200 (Tue, 01 Jul 2008)
Log Message:
-----------
bugfix, ActionActuator was missing many checks for PyArg_ParseTuple failing.
This meant an error in a script could be reported in a different line or script file which makes it quite hard to trace the problem. There were also places where invalid pointers could be used because of this.
The whole game engine pyapi probably needs to have these checks added.
Modified Paths:
--------------
trunk/blender/source/gameengine/Converter/BL_ActionActuator.cpp
Modified: trunk/blender/source/gameengine/Converter/BL_ActionActuator.cpp
===================================================================
--- trunk/blender/source/gameengine/Converter/BL_ActionActuator.cpp 2008-07-01 09:32:01 UTC (rev 15396)
+++ trunk/blender/source/gameengine/Converter/BL_ActionActuator.cpp 2008-07-01 13:21:37 UTC (rev 15397)
@@ -641,6 +641,9 @@
m_blendframe = 0;
}
}
+ else {
+ return NULL;
+ }
Py_INCREF(Py_None);
return Py_None;
@@ -660,6 +663,9 @@
{
m_startframe = start;
}
+ else {
+ return NULL;
+ }
Py_INCREF(Py_None);
return Py_None;
@@ -679,6 +685,9 @@
{
m_endframe = end;
}
+ else {
+ return NULL;
+ }
Py_INCREF(Py_None);
return Py_None;
@@ -699,6 +708,9 @@
{
m_blendin = blendin;
}
+ else {
+ return NULL;
+ }
Py_INCREF(Py_None);
return Py_None;
@@ -724,6 +736,9 @@
if (m_blendframe>m_blendin)
m_blendframe = m_blendin;
}
+ else {
+ return NULL;
+ }
Py_INCREF(Py_None);
return Py_None;
@@ -745,6 +760,9 @@
{
m_priority = priority;
}
+ else {
+ return NULL;
+ }
Py_INCREF(Py_None);
return Py_None;
@@ -768,6 +786,9 @@
else if (m_localtime>m_endframe)
m_localtime=m_endframe;
}
+ else {
+ return NULL;
+ }
Py_INCREF(Py_None);
return Py_None;
@@ -788,6 +809,9 @@
{
m_propname = string;
}
+ else {
+ return NULL;
+ }
Py_INCREF(Py_None);
return Py_None;
@@ -807,6 +831,9 @@
{
m_framepropname = string;
}
+ else {
+ return NULL;
+ }
Py_INCREF(Py_None);
return Py_None;
@@ -822,6 +849,9 @@
{
m_propname = string;
}
+ else {
+ return NULL;
+ }
Py_INCREF(Py_None);
return Py_None;
@@ -846,7 +876,8 @@
int row,col;
int mode = 0; /* 0 for bone space, 1 for armature/world space */
- PyArg_ParseTuple(args,"sO|i", &string, &pylist, &mode);
+ if (!PyArg_ParseTuple(args,"sO|i", &string, &pylist, &mode))
+ return NULL;
if (pylist->ob_type == &CListValue::Type)
{
More information about the Bf-blender-cvs
mailing list