Bill Baxter wrote:
On Fri, Jan 16, 2009 at 9:00 AM, Yigal Chripun <[email protected]> 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.