Contradictory documentation of interface initialization
@mcatanzaro
Submitted by Michael Catanzaro Link to original bug (#731997)
Description
Table 2. Interface Initialization in the GObject documentation [1] seems to contradict itself. The rightmost column of the table claims that the interface's base_init function is called once per instantiated class type implementing the interface and that the default_init function is called once period, in agreement with the surrounding documentation. However, the leftmost column claims that base_init is called during the first call to g_type_create_instance for any type implementing the interface, while default init is called during the first call to g_type_create_instance for each type implementing the interface, contradicting the rightmost column and the surrounding documentation. I guess the leftmost column of the table ought to say base_init is called for each type (rather than any type) and default_init for any type (rather than each type)?
Similarly, the leftmost column claims that interface_init is called during the first call to g_type_create_instance for any implementing type, whereas the rightmost column and surrounding documention are quite clear that it is called once for each implementing type.
To summarize, the leftmost column currently reads, from top to bottom, Any Each Any, but I think it should actually be Each Any Each.
[1] https://developer.gnome.org/gobject/stable/gtype-non-instantiable-classed.html
Version: 2.40.x