aboutsummaryrefslogtreecommitdiffstats
path: root/libshiboken/bindingmanager.h
diff options
context:
space:
mode:
authorHugo Parente Lima <hugo.pl@gmail.com>2011-09-13 17:43:16 -0300
committerHugo Parente Lima <hugo.pl@gmail.com>2012-03-08 16:17:14 -0300
commitc686942f6efbac4ac43cf859bfdd2c7209b783ea (patch)
tree39254222aca7f5bac8409a0078eaf5bbca2d1cf8 /libshiboken/bindingmanager.h
parent987010cb2c5740bf1cb7af54b2c6dc3142c44805 (diff)
Fix bug 995 - "QDeclarativeView.itemAt returns faulty reference. (leading to SEGFAULT)"
Diffstat (limited to 'libshiboken/bindingmanager.h')
-rw-r--r--libshiboken/bindingmanager.h15
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();