diff options
author | Marcelo Lira <marcelo.lira@openbossa.org> | 2009-11-26 19:01:24 -0300 |
---|---|---|
committer | Marcelo Lira <marcelo.lira@openbossa.org> | 2009-11-26 19:01:24 -0300 |
commit | acad8ceeef196c725eeabe7cf2a042a91eecbee3 (patch) | |
tree | 9c2ed99fef28723d9c0803f8bddaada817323b3b /libshiboken/bindingmanager.cpp | |
parent | f694fbbff8999bde36fcd161c3b3f369c7f3e6a1 (diff) |
Added convenience method BindingManager::invalidateWrapper(const void*).
This new invalidateWrapper finds the Python wrapper for a C++ pointer
and then invalidates it.
Virtual destructors for C++ wrappers call the invalidateWrapper on
the "this" pointer.
Diffstat (limited to 'libshiboken/bindingmanager.cpp')
-rw-r--r-- | libshiboken/bindingmanager.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/libshiboken/bindingmanager.cpp b/libshiboken/bindingmanager.cpp index c564a0c44..4774cb2d8 100644 --- a/libshiboken/bindingmanager.cpp +++ b/libshiboken/bindingmanager.cpp @@ -138,5 +138,12 @@ void BindingManager::invalidateWrapper(PyObject* wrapper) releaseWrapper(wrapper); } +void BindingManager::invalidateWrapper(const void* cptr) +{ + WrapperMap::iterator iter = m_d->wrapperMapper.find(cptr); + if (iter != m_d->wrapperMapper.end()) + invalidateWrapper(iter->second); +} + } // namespace Shiboken |