diff options
author | Hugo Parente Lima <hugo.pl@gmail.com> | 2011-09-13 17:43:16 -0300 |
---|---|---|
committer | Hugo Parente Lima <hugo.pl@gmail.com> | 2012-03-08 16:17:14 -0300 |
commit | c686942f6efbac4ac43cf859bfdd2c7209b783ea (patch) | |
tree | 39254222aca7f5bac8409a0078eaf5bbca2d1cf8 /libshiboken/bindingmanager.h | |
parent | 987010cb2c5740bf1cb7af54b2c6dc3142c44805 (diff) |
Fix bug 995 - "QDeclarativeView.itemAt returns faulty reference. (leading to SEGFAULT)"
Diffstat (limited to 'libshiboken/bindingmanager.h')
-rw-r--r-- | libshiboken/bindingmanager.h | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/libshiboken/bindingmanager.h b/libshiboken/bindingmanager.h index e12558b4f..b43bd77b2 100644 --- a/libshiboken/bindingmanager.h +++ b/libshiboken/bindingmanager.h @@ -49,7 +49,20 @@ public: PyObject* getOverride(const void* cptr, const char* methodName); void addClassInheritance(SbkObjectType* parent, SbkObjectType* child); - SbkObjectType* resolveType(void* cptr, SbkObjectType* type); + /** + * \deprecated Use \fn resolveType(void**, SbkObjectType*), this version is broken when used with multiple inheritance + * because the \p cptr pointer of the discovered type may be different of the given \p cptr in case + * of multiple inheritance + */ + SBK_DEPRECATED(SbkObjectType* resolveType(void* cptr, SbkObjectType* type)); + /** + * Try to find the correct type of *cptr knowing that it's at least of type \p type. + * In case of multiple inheritance this function may change the contents of cptr. + * \param cptr a pointer to a pointer to the instance of type \p type + * \param type type of *cptr + * \warning This function is slow, use it only as last resort. + */ + SbkObjectType* resolveType(void** cptr, SbkObjectType* type); std::set<SbkObject*> getAllPyObjects(); |