Mercurial > projects > qtd
diff d2/qtd/QtdObject.d @ 357:9784459f0750
An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Q_CLASSINFO implementation
Now Qtd can be built on Windows
author | Max Samukha <maxter@spambox.com> |
---|---|
date | Wed, 02 Jun 2010 19:38:05 +0300 |
parents | 18bd68f586c6 |
children | a032df77b6ab |
line wrap: on
line diff
--- a/d2/qtd/QtdObject.d Tue May 25 20:14:04 2010 +0300 +++ b/d2/qtd/QtdObject.d Wed Jun 02 19:38:05 2010 +0300 @@ -10,6 +10,7 @@ */ module qtd.QtdObject; +import qtd.Core; enum QtdObjectFlags : ubyte { @@ -61,14 +62,14 @@ } } -extern(C) void qtd_QtdObject_delete(void* dId) -{ - auto obj = cast(QtdObject)dId; +mixin(qtdExport("void", "QtdObject_delete", "void* dId", + q{ + auto obj = cast(QtdObject)dId; - if (!(obj.__flags & QtdObjectFlags.dOwnership)) - { - // Avoid deleting native object twice - obj.__setFlags(QtdObjectFlags.nativeOwnership, true); - delete obj; - } -} + if (!(obj.__flags & QtdObjectFlags.dOwnership)) + { + // Avoid deleting native object twice + obj.__setFlags(QtdObjectFlags.nativeOwnership, true); + delete obj; + } + }));