Web lists-archives.com

Re: gobject

On Thu, 2016-10-20 at 12:18 +0100, Emmanuele Bassi wrote:
> Hi;
> you should probably try and keep the thread, instead of breaking
> with
> every new email.

Unfortunately Evolution or Evolution data server has been playing up
and displaying downloaded messages with no subject or anything else,
in a message, it was only when I actually had a look directly at the
mailing list that I discovered this new message reply. Did not
actually receive the replied message. So had to improvise.

> On 20 October 2016 at 11:32, Timothy Ward <gtwa001@xxxxxxxxx> wrote:
> > 
> > The referenced docs are good but only up to a point.
> Patches are very welcome; we recently landed a whole review of the
> GObject tutorial, and feedback helps improving the documentation.
> > 
> > Their seems to be two methods used A) one that used a boiler plate
> > type declarations code etc and B) one that uses the G_DECLARE type
> > declarations. OLD and NEW.
> Yes. Ideally, the "new" style, with G_DECLARE_* and G_DEFINE_TYPE,
> should be used for all newly written code, as it allows not only
> hiding the internals of the type system, but also allows GLib
> maintainer to update the best practices for creating types without
> requiring vast amounts of code rewrites — just a rebuild.
> > 
> > The referenced docs do not provided full explanations or examples
> > of
> > either.
> What kind of full explanation are you looking for, precisely?

How to code both types - explanation of the boiler plate code
what it is for and how to code it.

Explanation of the new style and the advantages of using it.
> > 
> > Gobject destruction is not fully described as when object dispose
> > and object finalize should be used for an given Gobjects
> > destruction
> > and examples of correct use.

That great info Thanks.
> That's a good point, and a good example.
> In general, dispose() is only meant for releasing references
> acquired
> on other refcounted types that were associated to an instance of
> your
> type; since dispose() can be called multiple times, it allows
> breaking
> reference cycles.
> On the other hand, finalize() is going to be called once, and it
> should be used to release all memory allocated by an instance of
> your
> type.
> There's an overview of how memory management for a GObject type
> available here:
>    https://developer.gnome.org/gobject/stable/gobject-memory.html
> Again, feel free to file bugs against the GLib product:
>   https://bugzilla.gnome.org/enter_bug.cgi?product=glib
> pointing out issues with the current documentation (possible one per
> issue).

Shall do


> Ciao,
>  Emmanuele.
gtk-list mailing list