From a7ff3eba6db91b02b64fd3eb188c78c66b282c0b Mon Sep 17 00:00:00 2001 From: Marcelo Lira Date: Fri, 28 May 2010 10:33:41 -0300 Subject: Fixes generation of classes with protected virtual destructors. The problem appears when the binding is generated without the protected hack. --- cppgenerator.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'cppgenerator.cpp') diff --git a/cppgenerator.cpp b/cppgenerator.cpp index 1bd6d692b..2d30be2c6 100644 --- a/cppgenerator.cpp +++ b/cppgenerator.cpp @@ -1882,7 +1882,13 @@ void CppGenerator::writeClassDefinition(QTextStream& s, const AbstractMetaClass* else deallocClassName = cppClassName; tp_dealloc = "&Shiboken::deallocWrapper"; - cpp_dtor = "&Shiboken::callCppDestructor<" + metaClass->qualifiedCppName() + " >"; + + QString dtorClassName = metaClass->qualifiedCppName(); +#ifdef AVOID_PROTECTED_HACK + if (metaClass->hasProtectedDestructor()) + dtorClassName = wrapperName(metaClass); +#endif + cpp_dtor = "&Shiboken::callCppDestructor<" + dtorClassName + " >"; tp_init = onlyPrivCtor ? "0" : cpythonFunctionName(ctors.first()); } -- cgit v1.2.3