diff options
author | Thomas Grill <xovo@users.sourceforge.net> | 2005-02-27 04:57:47 +0000 |
---|---|---|
committer | Thomas Grill <xovo@users.sourceforge.net> | 2005-02-27 04:57:47 +0000 |
commit | 4890f929915b27e94cce04d19ab4e72cfbe93715 (patch) | |
tree | 93f48861ce0c1b46acd3e8f13a277785f13e77dd /externals/grill/py/source/pyargs.cpp | |
parent | 3e90874e5d63137c195c3b3c1ce90b542deb8a51 (diff) |
better error reporting
use lock count instead of message queuing to avoid py->py messaging deadlock
must clear Python error...
svn path=/trunk/; revision=2585
Diffstat (limited to 'externals/grill/py/source/pyargs.cpp')
-rw-r--r-- | externals/grill/py/source/pyargs.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/externals/grill/py/source/pyargs.cpp b/externals/grill/py/source/pyargs.cpp index aee12a17..a040feac 100644 --- a/externals/grill/py/source/pyargs.cpp +++ b/externals/grill/py/source/pyargs.cpp @@ -14,17 +14,18 @@ static PyObject *MakePyAtom(const t_atom &at) { if(flext::IsSymbol(at)) return pySymbol_FromSymbol(flext::GetSymbol(at)); -// else if(flext::IsPointer(at)) return NULL; // not handled - else if(flext::CanbeInt(at) && flext::CanbeFloat(at)) { + else if(flext::CanbeInt(at) || flext::CanbeFloat(at)) { // if a number can be an integer... let at be an integer! int ival = flext::GetAInt(at); double fval = flext::GetAFloat(at); return (double)ival == fval?PyInt_FromLong(ival):PyFloat_FromDouble(fval); } +// else if(flext::IsPointer(at)) return NULL; // not handled +/* // these following should never happen else if(flext::IsFloat(at)) return PyFloat_FromDouble((double)flext::GetFloat(at)); else if(flext::IsInt(at)) return PyInt_FromLong(flext::GetInt(at)); - +*/ return NULL; } |