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)
        {


_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to