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 Regards Tim > > Ciao, > Emmanuele. > _______________________________________________ gtk-list mailing list gtk-list@xxxxxxxxx https://mail.gnome.org/mailman/listinfo/gtk-list