Relaxed type checking concerning boolean arguments in class constructors

and __call__ methods so that not only True and False but also various
other boolean expressions (e.g., 0, 1, and None) are accepted.
This commit is contained in:
2009-04-03 20:03:09 +00:00
parent 5926ad2db2
commit acfd7c82ab
14 changed files with 82 additions and 34 deletions

View File

@@ -330,7 +330,7 @@ PyObject * FEdge_setViewEdge( BPy_FEdge *self, PyObject *args ) {
PyObject *FEdge_setSmooth( BPy_FEdge *self , PyObject *args) {
PyObject *py_b;
if(!( PyArg_ParseTuple(args, "O!", &PyBool_Type, &py_b) ))
if(!( PyArg_ParseTuple(args, "O", &py_b) ))
return NULL;
self->fe->setSmooth( bool_from_PyBool(py_b) );

View File

@@ -354,7 +354,7 @@ PyObject *Stroke_setTextureId( BPy_Stroke *self , PyObject *args) {
PyObject *Stroke_setTips( BPy_Stroke *self , PyObject *args) {
PyObject *py_b;
if(!( PyArg_ParseTuple(args, "O!", &PyBool_Type, &py_b) ))
if(!( PyArg_ParseTuple(args, "O", &py_b) ))
return NULL;
self->s->setTips( bool_from_PyBool(py_b) );

View File

@@ -145,7 +145,7 @@ int Chain___init__(BPy_Chain *self, PyObject *args, PyObject *kwds)
PyObject * Chain_push_viewedge_back( BPy_Chain *self, PyObject *args ) {
PyObject *obj1 = 0, *obj2 = 0;
if(!( PyArg_ParseTuple(args, "O!O!", &ViewEdge_Type, &obj1, &PyBool_Type, &obj2) ))
if(!( PyArg_ParseTuple(args, "O!O", &ViewEdge_Type, &obj1, &obj2) ))
return NULL;
ViewEdge *ve = ((BPy_ViewEdge *) obj1)->ve;
@@ -158,7 +158,7 @@ PyObject * Chain_push_viewedge_back( BPy_Chain *self, PyObject *args ) {
PyObject * Chain_push_viewedge_front( BPy_Chain *self, PyObject *args ) {
PyObject *obj1 = 0, *obj2 = 0;
if(!( PyArg_ParseTuple(args, "O!O!", &ViewEdge_Type, &obj1, &PyBool_Type, &obj2) ))
if(!( PyArg_ParseTuple(args, "O!O", &ViewEdge_Type, &obj1, &obj2) ))
return NULL;
ViewEdge *ve = ((BPy_ViewEdge *) obj1)->ve;