diff options
Diffstat (limited to 'libshiboken/typeresolver.cpp')
-rw-r--r-- | libshiboken/typeresolver.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/libshiboken/typeresolver.cpp b/libshiboken/typeresolver.cpp index d1439ef80..89bc63293 100644 --- a/libshiboken/typeresolver.cpp +++ b/libshiboken/typeresolver.cpp @@ -57,7 +57,11 @@ void Shiboken::initTypeResolver() static void registerTypeResolver(TypeResolver* resolver) { - typeResolverMap[resolver->typeName()] = resolver; + TypeResolver*& v = typeResolverMap[resolver->typeName()]; + if (!v) + v = resolver; + else + delete resolver; // Discard type resolvers already registered } TypeResolver::TypeResolver(const char* typeName, TypeResolver::CppToPythonFunc cppToPy, TypeResolver::PythonToCppFunc pyToCpp, PyTypeObject* pyType, TypeResolver::DeleteObjectFunc deleter) |