[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-bindings
Subject: [Kde-bindings]
From: Arno Rehn <kde () arnorehn ! de>
Date: 2010-07-06 11:44:32
Message-ID: 20100706114432.BC5B3AC8A8 () svn ! kde ! org
[Download RAW message or body]
SVN commit 1146693 by arnorehn:
Only add the __internal__SmokeClass heritage if the class actually has a virtual
destructor and as such is supposed to be subclassed. Fixes a bunch of crashes with
classes without a vtable.
CCMAIL: kde-bindings@kde.org
M +5 -2 writeClasses.cpp
--- branches/KDE/4.5/kdebindings/generator/generators/smoke/writeClasses.cpp #1146692:1146693
@@ -80,7 +80,7 @@
fileOut << "\n#include <smoke.h>\n#include <" << Options::module << "_smoke.h>\n";
- fileOut << "\nclass __internal_SmokeClass { public: virtual ~__internal_SmokeClass() {} };\n";
+ fileOut << "\nclass __internal_SmokeClass {};\n";
fileOut << "\nnamespace __smoke" << Options::module << " {\n\n";
@@ -366,8 +366,11 @@
out << QString("class %1").arg(smokeClassName);
if (!klass->isNameSpace()) {
- out << QString(" : public %1, public __internal_SmokeClass").arg(className);
+ out << QString(" : public %1").arg(className);
+ if (Util::hasClassVirtualDestructor(klass) && Util::hasClassPublicDestructor(klass)) {
+ out << ", public __internal_SmokeClass";
}
+ }
out << " {\n";
if (Util::canClassBeInstanciated(klass)) {
out << " SmokeBinding* _binding;\n";
_______________________________________________
Kde-bindings mailing list
Kde-bindings@kde.org
https://mail.kde.org/mailman/listinfo/kde-bindings
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic