[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [11241] trunk/blender/source/blender/ python/api2_2x: From stable
Campbell Barton
cbarton at metavr.com
Thu Jul 12 13:51:21 CEST 2007
Revision: 11241
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=11241
Author: campbellbarton
Date: 2007-07-12 13:51:21 +0200 (Thu, 12 Jul 2007)
Log Message:
-----------
>From stable
Revision: 11237
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=11237
Author: campbellbarton
Date: 2007-07-12 13:05:31 +0200 (Thu, 12 Jul 2007)
Log Message:
-----------
PyObject_IsTrue was missing a check for an error return value in many cases.
Modified Paths:
--------------
trunk/blender/source/blender/python/api2_2x/BezTriple.c
trunk/blender/source/blender/python/api2_2x/Camera.c
trunk/blender/source/blender/python/api2_2x/Image.c
trunk/blender/source/blender/python/api2_2x/Ipocurve.c
trunk/blender/source/blender/python/api2_2x/Key.c
trunk/blender/source/blender/python/api2_2x/Mesh.c
trunk/blender/source/blender/python/api2_2x/Object.c
trunk/blender/source/blender/python/api2_2x/Pose.c
trunk/blender/source/blender/python/api2_2x/SurfNurb.c
trunk/blender/source/blender/python/api2_2x/Texture.c
trunk/blender/source/blender/python/api2_2x/bpy_data.c
trunk/blender/source/blender/python/api2_2x/gen_library.c
trunk/blender/source/blender/python/api2_2x/gen_utils.c
trunk/blender/source/blender/python/api2_2x/sceneSequence.c
Modified: trunk/blender/source/blender/python/api2_2x/BezTriple.c
===================================================================
--- trunk/blender/source/blender/python/api2_2x/BezTriple.c 2007-07-12 11:19:15 UTC (rev 11240)
+++ trunk/blender/source/blender/python/api2_2x/BezTriple.c 2007-07-12 11:51:21 UTC (rev 11241)
@@ -350,7 +350,12 @@
static int BezTriple_setHide( BPy_BezTriple * self, PyObject *value )
{
- if( PyObject_IsTrue( value ) )
+ int param = PyObject_IsTrue( value );
+ if( param == -1 )
+ return EXPP_ReturnIntError( PyExc_TypeError,
+ "expected True/False or 0/1" );
+
+ if( param )
self->beztriple->hide = IPO_BEZ;
else
self->beztriple->hide = 0;
@@ -368,6 +373,7 @@
{
struct BezTriple *bezt = self->beztriple;
PyObject *ob1, *ob2, *ob3;
+ int param1, param2, param3;
/* only accept a sequence of three booleans */
@@ -379,15 +385,22 @@
ob2 = PySequence_ITEM( args, 1 );
ob3 = PySequence_ITEM( args, 2 );
+ param1 = PyObject_IsTrue( ob1 );
+ param2 = PyObject_IsTrue( ob2 );
+ param3 = PyObject_IsTrue( ob3 );
+
+ if (param1==-1 || param2==-1 || param3==-1)
+ return EXPP_ReturnIntError( PyExc_TypeError,
+ "expected a sequence of 3 items: True/False or 0/1" );
+
/* assign the selects */
- bezt->f1 = ( char )PyObject_IsTrue( ob1 );
- bezt->f2 = ( char )PyObject_IsTrue( ob2 );
- bezt->f3 = ( char )PyObject_IsTrue( ob3 );
+ bezt->f1 = (char)param1;
+ bezt->f2 = (char)param2;
+ bezt->f3 = (char)param3;
Py_DECREF( ob1 );
Py_DECREF( ob2 );
Py_DECREF( ob3 );
-
return 0;
}
Modified: trunk/blender/source/blender/python/api2_2x/Camera.c
===================================================================
--- trunk/blender/source/blender/python/api2_2x/Camera.c 2007-07-12 11:19:15 UTC (rev 11240)
+++ trunk/blender/source/blender/python/api2_2x/Camera.c 2007-07-12 11:51:21 UTC (rev 11241)
@@ -824,7 +824,12 @@
static int setFlagAttr( BPy_Camera *self, PyObject *value, void *type )
{
- if (PyObject_IsTrue(value))
+ int param = PyObject_IsTrue( value );
+ if( param == -1 )
+ return EXPP_ReturnIntError( PyExc_TypeError,
+ "expected True/False or 0/1" );
+
+ if (param)
self->camera->flag |= (int)type;
else
self->camera->flag &= ~(int)type;
Modified: trunk/blender/source/blender/python/api2_2x/Image.c
===================================================================
--- trunk/blender/source/blender/python/api2_2x/Image.c 2007-07-12 11:19:15 UTC (rev 11240)
+++ trunk/blender/source/blender/python/api2_2x/Image.c 2007-07-12 11:51:21 UTC (rev 11241)
@@ -1095,7 +1095,12 @@
static int Image_setFlag(BPy_Image *self, PyObject *value, void *flag)
{
- if ( PyObject_IsTrue(value) )
+ int param = PyObject_IsTrue( value );
+ if( param == -1 )
+ return EXPP_ReturnIntError( PyExc_TypeError,
+ "expected True/False or 0/1" );
+
+ if ( param )
self->image->flag |= (int)flag;
else
self->image->flag &= ~(int)flag;
@@ -1104,7 +1109,12 @@
static int Image_setFlagTpage(BPy_Image *self, PyObject *value, void *flag)
{
- if ( PyObject_IsTrue(value) )
+ int param = PyObject_IsTrue( value );
+ if( param == -1 )
+ return EXPP_ReturnIntError( PyExc_TypeError,
+ "expected True/False or 0/1" );
+
+ if ( param )
self->image->tpageflag |= (int)flag;
else
self->image->tpageflag &= ~(int)flag;
Modified: trunk/blender/source/blender/python/api2_2x/Ipocurve.c
===================================================================
--- trunk/blender/source/blender/python/api2_2x/Ipocurve.c 2007-07-12 11:19:15 UTC (rev 11240)
+++ trunk/blender/source/blender/python/api2_2x/Ipocurve.c 2007-07-12 11:51:21 UTC (rev 11241)
@@ -1029,6 +1029,9 @@
static int IpoCurve_setFlag( C_IpoCurve * self, PyObject *value, void *type )
{
int param = PyObject_IsTrue( value );
+ if( param == -1 )
+ return EXPP_ReturnIntError( PyExc_TypeError,
+ "expected True/False or 0/1" );
if (param)
self->ipocurve->flag |= (int)type;
Modified: trunk/blender/source/blender/python/api2_2x/Key.c
===================================================================
--- trunk/blender/source/blender/python/api2_2x/Key.c 2007-07-12 11:19:15 UTC (rev 11240)
+++ trunk/blender/source/blender/python/api2_2x/Key.c 2007-07-12 11:51:21 UTC (rev 11241)
@@ -334,7 +334,12 @@
static int Key_setRelative( BPy_Key * self, PyObject * value )
{
- if( PyObject_IsTrue( value ) )
+ int param = PyObject_IsTrue( value );
+ if( param == -1 )
+ return EXPP_ReturnIntError( PyExc_TypeError,
+ "expected True/False or 0/1" );
+
+ if( param )
self->key->type = KEY_RELATIVE;
else
self->key->type = KEY_NORMAL;
Modified: trunk/blender/source/blender/python/api2_2x/Mesh.c
===================================================================
--- trunk/blender/source/blender/python/api2_2x/Mesh.c 2007-07-12 11:19:15 UTC (rev 11240)
+++ trunk/blender/source/blender/python/api2_2x/Mesh.c 2007-07-12 11:51:21 UTC (rev 11241)
@@ -2576,7 +2576,7 @@
if( param == -1 )
return EXPP_ReturnIntError( PyExc_TypeError,
- "expected true/false argument" );
+ "expected True/False or 0/1" );
me = self->mesh;
@@ -3994,7 +3994,7 @@
if( param == -1 )
return EXPP_ReturnIntError( PyExc_TypeError,
- "expected true/false argument" );
+ "expected True/False or 0/1" );
me = self->mesh;
if( param ) {
@@ -5011,12 +5011,25 @@
/* process any keyword arguments */
if( keywds ) {
PyObject *res = PyDict_GetItemString( keywds, "ignoreDups" );
- if( res )
+ if( res ) {
ignore_dups = PyObject_IsTrue( res );
-
+ if (ignore_dups==-1) {
+ return EXPP_ReturnPyObjError( PyExc_TypeError,
+ "keyword argument \"ignoreDups\" expected True/False or 0/1" );
+ }
+ }
res = PyDict_GetItemString( keywds, "indexList" );
- if( res && PyObject_IsTrue( res ) )
- return_list = PyList_New( 0 );
+ if (res) {
+ switch( PyObject_IsTrue( res ) ) {
+ case 0:
+ break;
+ case -1:
+ return EXPP_ReturnPyObjError( PyExc_TypeError,
+ "keyword argument \"indexList\" expected True/False or 0/1" );
+ default:
+ return_list = PyList_New( 0 );
+ }
+ }
}
/* make sure we get a tuple of sequences of something */
@@ -7677,7 +7690,7 @@
if( param == -1 )
return EXPP_ReturnIntError( PyExc_TypeError,
- "expected int argument in range [0,1]" );
+ "expected True/False or 0/1" );
/* sticky is independent of faceUV and vertUV */
@@ -7904,15 +7917,19 @@
return ret;
}
-static int Mesh_setSel( BPy_Mesh * self, PyObject * arg )
+static int Mesh_setSel( BPy_Mesh * self, PyObject * value )
{
- int i;
+ int i, param = PyObject_IsTrue( value );
Mesh *me = self->mesh;
MVert *mvert = me->mvert;
MEdge *medge = me->medge;
MFace *mface = me->mface;
- if( PyObject_IsTrue( arg ) ) {
+ if( param == -1 )
+ return EXPP_ReturnIntError( PyExc_TypeError,
+ "expected True/False or 0/1" );
+
+ if( param ) {
for( i = 0; i < me->totvert; ++mvert, ++i )
mvert->flag |= SELECT;
for( i = 0; i < me->totedge; ++medge, ++i )
@@ -7931,15 +7948,19 @@
return 0;
}
-static int Mesh_setHide( BPy_Mesh * self, PyObject * arg )
+static int Mesh_setHide( BPy_Mesh * self, PyObject * value )
{
- int i;
+ int i, param = PyObject_IsTrue( value );
Mesh *me = self->mesh;
MVert *mvert = me->mvert;
MEdge *medge = me->medge;
MFace *mface = me->mface;
- if( PyObject_IsTrue( arg ) ) {
+ if( param == -1 )
+ return EXPP_ReturnIntError( PyExc_TypeError,
+ "expected True/False or 0/1" );
+
+ if( param ) {
for( i = 0; i < me->totvert; ++mvert, ++i )
mvert->flag |= ME_HIDE;
for( i = 0; i < me->totedge; ++medge, ++i )
Modified: trunk/blender/source/blender/python/api2_2x/Object.c
===================================================================
--- trunk/blender/source/blender/python/api2_2x/Object.c 2007-07-12 11:19:15 UTC (rev 11240)
+++ trunk/blender/source/blender/python/api2_2x/Object.c 2007-07-12 11:51:21 UTC (rev 11241)
@@ -1209,16 +1209,16 @@
static int Object_setSelect( BPy_Object * self, PyObject * value )
{
Base *base;
- int setting = PyObject_IsTrue( value );
+ int param = PyObject_IsTrue( value );
- if( setting == -1 )
+ if( param == -1 )
return EXPP_ReturnIntError( PyExc_TypeError,
- "expected true/false argument" );
+ "expected True/False or 0/1" );
base = FIRSTBASE;
while( base ) {
if( base->object == self->object ) {
- if( setting == 1 ) {
+ if( param ) {
base->flag |= SELECT;
self->object->flag = (short)base->flag;
set_active_base( base );
@@ -2939,20 +2939,20 @@
Py_RETURN_FALSE;
}
-static int Object_setNLAflagBits ( BPy_Object * self, PyObject * args )
+static int Object_setNLAflagBits ( BPy_Object * self, PyObject * value )
{
- int value;
+ int param;
- value = PyObject_IsTrue( args );
- if( value == -1 )
+ param = PyObject_IsTrue( value );
+ if( param == -1 )
return EXPP_ReturnIntError( PyExc_TypeError,
- "expected 1/0 for true/false" );
+ "expected True/False or 0/1" );
- if (value==1)
+ if (param)
self->object->nlaflag |= OB_NLA_OVERRIDE;
else
self->object->nlaflag &= ~OB_NLA_OVERRIDE;
-
+
self->object->recalc |= OB_RECALC_OB;
return 0;
@@ -2961,7 +2961,6 @@
static PyObject *Object_getDupliObjects( BPy_Object * self )
{
Object *ob= self->object;
- PyObject *pair;
if(ob->transflag & OB_DUPLI) {
/* before make duplis, update particle for current frame */
@@ -2983,6 +2982,7 @@
"PyList_New() failed" );
for(dupob= duplilist->first, index=0; dupob; dupob= dupob->next, index++) {
+ PyObject *pair;
pair = PyTuple_New( 2 );
PyTuple_SET_ITEM( pair, 0, Object_CreatePyObject(dupob->ob) );
@@ -3184,20 +3184,20 @@
return PyBool_FromLong( ( long ) self->object->pd->deflect );
}
-static int Object_setPIDeflection( BPy_Object * self, PyObject * args )
+static int Object_setPIDeflection( BPy_Object * self, PyObject * value )
{
- int value;
+ int param;
if( !self->object->pd && !setupPI(self->object) )
return EXPP_ReturnIntError( PyExc_RuntimeError,
"particle deflection could not be accessed" );
- value = PyObject_IsTrue( args );
- if( value == -1 )
+ param = PyObject_IsTrue( value );
+ if( param == -1 )
return EXPP_ReturnIntError( PyExc_TypeError,
"expected true/false argument" );
- self->object->pd->deflect = (short)value;
+ self->object->pd->deflect = (short)param;
self->object->recalc |= OB_RECALC_OB;
return 0;
@@ -3249,20 +3249,20 @@
return PyBool_FromLong( ( long )self->object->pd->flag );
}
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list