GNOME Bugzilla – Bug 666027
gobject-introspection doesn't give us information about vfunc overrides on subtypes
Last modified: 2018-01-24 18:39:12 UTC
>>> from gi.repository import Gtk. Gio >>> Gtk.Application.do_startup == Gio.Application.do_startup True This shouldn't be the case. gtk_application_real_startup should be exposed as Gtk.Application.do_startup, because it's set in the class struct as the implementation of the vfunc. To do this properly, gobject-introspection should tell us when a subtype puts a vfunc implementation in its class struct, so we can expose the function at that location. I don't know how much it would break if we just had a GIVFuncInfo* with the same name in the subclass's info.
I've never understood why introspection needs to poke into all these private details.
OK, so I managed to fix this in a hacky way by comparing the vfunc pointers in the class structs.
[Mass-moving gobject-introspection tickets to its own Bugzilla product - see bug 708029. Mass-filter your bugmail for this message: introspection20150207 ]
Definitely not going to happen.