Mercurial > projects > qtd
diff d2/qtd/QtdObject.d @ 315:2049c3abd348 lifetime
more cleanup
author | maxter <spambox@d-coding.com> |
---|---|
date | Wed, 23 Dec 2009 23:54:39 +0200 |
parents | 80b52f5e97b6 |
children |
line wrap: on
line diff
--- a/d2/qtd/QtdObject.d Wed Dec 23 23:17:36 2009 +0200 +++ b/d2/qtd/QtdObject.d Wed Dec 23 23:54:39 2009 +0200 @@ -290,6 +290,7 @@ /** */ + /+ void __ownership(QtdOwnership native) { switch(own) @@ -310,6 +311,7 @@ assert(false); } } + +/ /** Returns true if garbage collection for this object is disabled. @@ -351,15 +353,13 @@ this(void* nativeId, QtdObjectFlags flags = QtdObjectFlags.none) { super(nativeId, flags); - if (!(__flags & QtdObjectFlags.canHaveDups) - && !(__flags & QtdObjectFlags.hasDId)) + if (!(__flags & QtdObjectFlags.hasDId)) metaObject.addRef(this); } ~this() { - if (!(__flags & QtdObjectFlags.canHaveDups) - && !(__flags & QtdObjectFlags.hasDId)) + if (!(__flags & QtdObjectFlags.hasDId)) metaObject.removeRef(this); } @@ -379,8 +379,10 @@ } } +/+ extern(C) void qtd_ownership(void* dId, QtdOwnership own) { auto obj = cast(QtdObjectBase)dId; obj.__ownership = own; -} \ No newline at end of file +} ++/ \ No newline at end of file