Mercurial > projects > qtd
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;