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.
This commit is contained in:
2007-07-12 11:51:21 +00:00
parent e7c15b97e2
commit bfb9603cb4
14 changed files with 168 additions and 68 deletions

View File

@@ -828,23 +828,27 @@ PyObject *EXPP_getBitfield( void *param, int setting, char type )
int EXPP_setBitfield( PyObject * value, void *param, int setting, char type )
{
int flag = PyObject_IsTrue( value );
int param_bool = PyObject_IsTrue( value );
if( param_bool == -1 )
return EXPP_ReturnIntError( PyExc_TypeError,
"expected True/False or 0/1" );
switch ( type ) {
case 'b':
if ( flag )
if ( param_bool )
*(char *)param |= setting;
else
*(char *)param &= ~setting;
return 0;
case 'h':
if ( flag )
if ( param_bool )
*(short *)param |= setting;
else
*(short *)param &= ~setting;
return 0;
case 'i':
if ( flag )
if ( param_bool )
*(int *)param |= setting;
else
*(int *)param &= ~setting;