[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    KDE/kdebindings/generator/generators/smoke
From:       Arno Rehn <kde () arnorehn ! de>
Date:       2010-09-09 14:55:38
Message-ID: 20100909145538.4936FAC884 () svn ! kde ! org
[Download RAW message or body]

SVN commit 1173496 by arnorehn:

Improve logic for QFlags.

BUG:249567

 M  +2 -1      helpers.cpp  
 M  +1 -1      writeSmokeDataFile.cpp  


--- trunk/KDE/kdebindings/generator/generators/smoke/helpers.cpp #1173495:1173496
@@ -617,12 +617,13 @@
     // reset
     type = field.type();
     // to avoid copying around more stuff than necessary, convert setFoo(Bar) to \
                setFoo(const Bar&)
-    if (type->pointerDepth() == 0 && type->getClass()) {
+    if (type->pointerDepth() == 0 && type->getClass() && !(ParserOptions::qtMode && \
type->getClass()->name() == "QFlags")) {  Type newType = *type;
         newType.setIsRef(true);
         newType.setIsConst(true);
         type = Type::registerType(newType);
     }
+
     (*usedTypes) << type;
     setter.appendParameter(Parameter(QString(), type));
     if (klass->methods().contains(setter))
--- trunk/KDE/kdebindings/generator/generators/smoke/writeSmokeDataFile.cpp \
#1173495:1173496 @@ -115,7 +115,7 @@
         flags += "|Smoke::t_voidp";
     } else if (t->getClass()) {
         if (t->getClass()->isTemplate()) {
-            if (Options::qtMode && t->getClass()->name() == "QFlags") {
+            if (Options::qtMode && t->getClass()->name() == "QFlags" && !t->isRef() \
&& t->pointerDepth() == 0) {  flags += "|Smoke::t_uint";
             } else {
                 flags += "|Smoke::t_voidp";


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic