diff --git a/libshiboken/bindingmanager.cpp b/libshiboken/bindingmanager.cpp
index cb610000..011fac52 100644
--- a/libshiboken/bindingmanager.cpp
+++ b/libshiboken/bindingmanager.cpp
@@ -140,9 +140,7 @@ void BindingManager::BindingManagerPrivate::releaseWrapper(void* cptr)
void BindingManager::BindingManagerPrivate::assignWrapper(SbkObject* wrapper, const void* cptr)
{
assert(cptr);
- WrapperMap::iterator iter = wrapperMapper.find(cptr);
- if (iter == wrapperMapper.end())
- wrapperMapper.insert(std::make_pair(cptr, wrapper));
+ wrapperMapper[cptr] = wrapper;
}
BindingManager::BindingManager()
diff --git a/shibokenmodule/typesystem_shiboken.xml b/shibokenmodule/typesystem_shiboken.xml
index b3d20594..7228c519 100644
--- a/shibokenmodule/typesystem_shiboken.xml
+++ b/shibokenmodule/typesystem_shiboken.xml
@@ -4,6 +4,7 @@
+
bool isValid = Shiboken::Object::isValid(%1, false);
@@ -39,6 +40,15 @@
+
+
+ %PYARG_0 = (PyObject*)Shiboken::BindingManager::instance().retrieveWrapper((void *)%1);
+ if(!%PYARG_0) {
+ PyErr_SetString(PyExc_ValueError, "No binding registered.");
+ }
+
+
+
if (Shiboken::Object::checkType(%1)) {