diff qt/qtd/MetaMarshall.d @ 303:98b211f3ee34 signals

fix for #19
author eldar_ins@eldar-laptop
date Sat, 12 Dec 2009 16:01:55 +0500
parents 55ee4603365d
children 91ed8edd442e
line wrap: on
line diff
--- a/qt/qtd/MetaMarshall.d	Sat Dec 12 03:22:54 2009 +0500
+++ b/qt/qtd/MetaMarshall.d	Sat Dec 12 16:01:55 2009 +0500
@@ -58,7 +58,7 @@
 // converts an argumnent from C++ to D in qt_metacall
 string metaCallArgument(T)(string ptr)
 {
-    static if (isQObjectType!T)
+    static if (isQObjectType!T || isObjectType!T)
         return T.stringof ~ ".__getObject(*cast(void**)(" ~ ptr ~ "))";
     else static if (isNativeType!T)
         return "*(cast(" ~ T.stringof ~ "*)" ~ ptr ~ ")";
@@ -72,7 +72,7 @@
 // converts a D argument type to C++ for registering in Qt meta system
 string qtDeclArg(T)()
 {
-    static if (isQObjectType!T)
+    static if (isQObjectType!T || isObjectType!T)
         return T.stringof ~ "*";
     else static if (isStringType!T)
         return "QString";
@@ -85,7 +85,7 @@
 // converts an argument from D to C++ in a signal emitter
 string convertSignalArgument(T)(string arg)
 {
-    static if (isQObjectType!T)
+    static if (isQObjectType!T || isObjectType!T)
         return arg ~ ".__nativeId";
     else static if (isStringType!T)
         return "_qt" ~ arg;