[Kde-bindings] KDE/kdebindings/generator/generators/smoke
Arno Rehn
kde at arnorehn.de
Fri Apr 2 22:44:38 UTC 2010
SVN commit 1110393 by arnorehn:
Correctly generate xenum_ functions. Fixes a bug reported
by Robert Riemann. Thanks!
CCMAIL: robert.riemann at physik.hu-berlin.de
CCMAIL: kde-bindings at kde.org
M +10 -3 writeSmokeDataFile.cpp
--- trunk/KDE/kdebindings/generator/generators/smoke/writeSmokeDataFile.cpp #1110392:1110393
@@ -216,14 +216,21 @@
for (QHash<QString, Enum>::const_iterator it = enums.constBegin(); it != enums.constEnd(); it++) {
if (!it.value().isValid())
continue;
- if (it.value().parent() && !externalClasses.contains(it.value().parent()) && it.value().access() != Access_private) {
- QString smokeClassName = it.value().parent()->toString();
+
+ QString smokeClassName;
+ if (it.value().parent()) {
+ smokeClassName = it.value().parent()->toString();
+ } else {
+ smokeClassName = it.value().nameSpace();
+ }
+
+ if (!smokeClassName.isEmpty() && includedClasses.contains(smokeClassName) && it.value().access() != Access_private) {
if (enumClassesHandled.contains(smokeClassName) || Options::voidpTypes.contains(smokeClassName))
continue;
enumClassesHandled << smokeClassName;
smokeClassName.replace("::", "__");
out << "void xenum_" << smokeClassName << "(Smoke::EnumOperation, Smoke::Index, void*&, long&);\n";
- } else if (!it.value().parent() && it.value().access() != Access_private) {
+ } else if (smokeClassName.isEmpty() && it.value().access() != Access_private) {
if (enumClassesHandled.contains("QGlobalSpace"))
continue;
out << "void xenum_QGlobalSpace(Smoke::EnumOperation, Smoke::Index, void*&, long&);\n";
More information about the Kde-bindings
mailing list