Qt 4.5 to be LGPL

Yigal Chripun yigal100 at gmail.com
Thu Jan 15 23:56:00 PST 2009


Bill Baxter wrote:
> On Fri, Jan 16, 2009 at 10:22 AM, Walter Bright
> <newshound1 at digitalmars.com>  wrote:
>> Bill Baxter wrote:
>>> On Fri, Jan 16, 2009 at 9:00 AM, Yigal Chripun<yigal100 at gmail.com>  wrote:
>>>
>>>> 2. there's more to S&S than just an array of delegates - they are weak
>>>> refs
>>>> so that destruction of an object disconnects automatically the apropriate
>>>> signals. but there is a weakref lib for D written by Bill IIRC, that
>>>> could
>>>> be utilized in qtD. no pre-processor needed.
>>> The "delegates" in Qt are more like a QObject,QString pair.  The
>>> object and the *name* of the method to call.
>>>
>>> And there aren't really "weak refs" in Qt.  When you connect a signal
>>> and slot it also makes some extra connections between the two objects'
>>> destroyed() signals.  So each object is also listening for the other
>>> object to be destroyed.   Sort of a weak ref, but more like a strong
>>> ref with active notifications about destruction either way.   In a
>>> GC'ed language with real weak refs, the slot holder doesn't have to
>>> worry if the signal sender disappears.
>> This is taken care of in std.signals.
>
> WeakRef Yigal was referring to is just a handy wrapper class for the
> same GC callback that std.signals uses.  Plus it's compatible with
> both Phobos and Tango.
>
> --bb

What I meant was that QT provides the functionality of a weakref, but 
you're right that that's not a "real" weak ref.
still, I think this functionality need to be implemented in qtD and 
luckily D does have true weakrefs that can be utilized for this.

Question: since D2 now uses the same runtime as tango and that includes 
the (same) GC, do we still need the wrapper, for D2 code?



More information about the Digitalmars-d mailing list