diff options
Diffstat (limited to 'libshiboken/basewrapper.cpp')
-rw-r--r-- | libshiboken/basewrapper.cpp | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/libshiboken/basewrapper.cpp b/libshiboken/basewrapper.cpp index 6c8c3fb3c..a34ef1fef 100644 --- a/libshiboken/basewrapper.cpp +++ b/libshiboken/basewrapper.cpp @@ -848,6 +848,15 @@ bool isValid(SbkObject* pyObj, bool throwPyError) return true; } +bool isValid(PyObject* pyObj, bool throwPyError) +{ + if (!pyObj || pyObj == Py_None || + !PyType_IsSubtype(pyObj->ob_type, reinterpret_cast<PyTypeObject*>(&SbkObject_Type))) { + return true; + } + return isValid(reinterpret_cast<SbkObject*>(pyObj), throwPyError); +} + PyObject* newObject(SbkObjectType* instanceType, void* cptr, bool hasOwnership, @@ -1091,7 +1100,7 @@ void clearReferences(SbkObject* self) self->d->referredObjects = 0; } -} // namespace Wrapper +} // namespace Object } // namespace Shiboken |