Mercurial > projects > qtd
diff qt/d2/qt/qtd/Str.d @ 248:7664de4a55e5
Fixed #23.
QtD_QObjectEntity is not created dynamically for shell classes any more.
Class initialization is now performed by static constructors.
When wrapping QObjects returned from functions, their run-time types are now taken into account.
QObjects are allocated on GC heap, a doubly-linked list is used to prevent them from been collected (arguably a better solution than allocating on C heap and adding GC ranges)
Minor changes (including unnecessary).
author | maxter |
---|---|
date | Thu, 20 Aug 2009 14:47:17 +0000 |
parents | 27497bbe62a1 |
children | 37eed70de029 |
line wrap: on
line diff
--- a/qt/d2/qt/qtd/Str.d Fri Jul 31 11:05:22 2009 +0000 +++ b/qt/d2/qt/qtd/Str.d Thu Aug 20 14:47:17 2009 +0000 @@ -36,7 +36,7 @@ argv[argc++] = cast(char*)(p.dup~'\0'); } argv[argc] = null; - + return argv; } @@ -45,19 +45,11 @@ return s ? s[0 .. strlen(s)].idup : cast(string)null; } -version(Windows) + +extern(C) void qtd_toUtf8(wchar* arr, uint size, string* str) { - export extern(C) void _d_toUtf8(wchar* arr, uint size, string* str) - { - *str = toUTF8(arr[0..size]); - } -} -else -{ - extern(C) void _d_toUtf8(wchar* arr, uint size, string* str) - { - *str = toUTF8(arr[0..size]); - } + *str = toUTF8(arr[0..size]); } +