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

Reply via email to