-
Philip Withnall authored
In order to allow libfolks to be used from introspected languages (such as Python) properly, we need to correctly use the GObject construction process, rather than generating code which does all object initialisation inside a *_new() function. This involves moving lots of code into construct{} blocks. There are some complications; mostly the need for various private variables to now be exposed as construct-only properties. Most of them should've been anyway. Other complications arose from the fact that moving code to a construct{} block can subtly change the execution order of the code if the Object() call lists properties which are non-construct properties (e.g. the “alias” property of a Persona). The setters for these properties will now be called _after_ the construct{} code, whereas previously they would've been called beforehand. This rears its head in Tpf.Persona, but hopefully nowhere else. Closes: bgo#665692
2247cdd5