I was wondering if this GObject destruction scheme allows destroying an object in a callback for a signal of itself.
Is this possible? Sorry for the slight of topic! Merry Christmas, Ian Liu. On Dec 24, 2012 9:38 AM, "David Nečas" <[email protected]> wrote: > On Wed, 19 Dec 2012 18:55:40 +0100, Nicola Fontana <[email protected]> wrote: > > By exposing only dispose() and internalizing finalization in > > libgobject. > > How can you do this without one of the following: > (a) Requiring that objects must not have any data, even internal, > that cannot be NULL[*] during the object lifetime. I.e. all data > would require the NULL protection, even those that do not require > it in the current scheme. > (b) Teaching GObject how to free the internal data of your object. > But wait, there is already a method that lets GObject do this: it > is called finalize(). > > [*] Or, in general, unset in some other manner. > > > We are saying the same thing: if a dynamic string is protected > > against NULL throughout your code (no "special" protection > > intended here), freeing and nullifying it in dispose() or freeing > > in finalize() gives the same final result. > > Yes, here we are saying the same thing. > > Where we differ, is that you seem to propose that all member data should > be like this. > > In many cases, internal data can be assumed to just exist in all public > methods *and* during the reference-cycle breaking stage. So no NULL > protection is necessary, they are just plainly freed in finalize(). > > Regards, > > Yeti > > _______________________________________________ > gtk-list mailing list > [email protected] > https://mail.gnome.org/mailman/listinfo/gtk-list >
_______________________________________________ gtk-list mailing list [email protected] https://mail.gnome.org/mailman/listinfo/gtk-list
