[Kde-bindings] KDE/kdebindings/ruby/qtruby

Richard Dale Richard_Dale at tipitina.demon.co.uk
Sun Aug 10 16:36:00 UTC 2008


SVN commit 844827 by rdale:

* Fix a bug reported by Stefano Crocco where primitives types and QStrings
  were not working as arguments to slots and signals in smoke libs outside
  the qt one.

CCMAIL: kde-bindings at kde.org



 M  +6 -0      ChangeLog  
 M  +8 -1      src/Qt.cpp  
 M  +1 -1      src/handlers.cpp  


--- trunk/KDE/kdebindings/ruby/qtruby/ChangeLog #844826:844827
@@ -1,3 +1,9 @@
+2008-08-10  Richard Dale  <richard.j.dale at gmail.com>
+
+	* Fix a bug reported by Stefano Crocco where primitives types and QStrings
+	  were not working as arguments to slots and signals in smoke libs outside
+	  the qt one.
+
 2008-08-07  Richard Dale  <richard.j.dale at gmail.com>
 
 	* Fix the Qt::CoreApplication constructor so it handles the ARGV array
--- trunk/KDE/kdebindings/ruby/qtruby/src/Qt.cpp #844826:844827
@@ -952,7 +952,6 @@
 	if (rx == 0) {
 		rx = new QRegExp("^(bool|int|uint|long|ulong|double|char\\*|QString)&?$");
 	}
-
 	methodTypes.prepend(QByteArray(typeName));
 	QList<MocArgument*> result;
 
@@ -1005,28 +1004,36 @@
 				}			
 			} else if (staticType == "bool") {
 				arg->argType = xmoc_bool;
+				smoke = qt_Smoke;
 				typeId = smoke->idType(name.constData());
 			} else if (staticType == "int") {
 				arg->argType = xmoc_int;
+				smoke = qt_Smoke;
 				typeId = smoke->idType(name.constData());
 			} else if (staticType == "uint") {
 				arg->argType = xmoc_uint;
+				smoke = qt_Smoke;
 				typeId = smoke->idType(name.constData());
 			} else if (staticType == "long") {
 				arg->argType = xmoc_long;
+				smoke = qt_Smoke;
 				typeId = smoke->idType(name.constData());
 			} else if (staticType == "ulong") {
 				arg->argType = xmoc_ulong;
+				smoke = qt_Smoke;
 				typeId = smoke->idType(name.constData());
 			} else if (staticType == "double") {
 				arg->argType = xmoc_double;
+				smoke = qt_Smoke;
 				typeId = smoke->idType(name.constData());
 			} else if (staticType == "char*") {
 				arg->argType = xmoc_charstar;
+				smoke = qt_Smoke;
 				typeId = smoke->idType(name.constData());
 			} else if (staticType == "QString") {
 				arg->argType = xmoc_QString;
 				name += "*";
+				smoke = qt_Smoke;
 				typeId = smoke->idType(name.constData());
 			}
 
--- trunk/KDE/kdebindings/ruby/qtruby/src/handlers.cpp #844826:844827
@@ -2394,7 +2394,7 @@
 		return marshall_basetype;
 	if (!type.name())
 		return marshall_void;
-	
+
 	TypeHandler *h = type_handlers[type.name()];
 	
 	if (h == 0 && type.isConst() && strlen(type.name()) > strlen("const ")) {



More information about the Kde-bindings mailing list