-
Language bindings have so far been unable to implement the GListModel interface because the ::get_item virtual function returns a non-bindable type (gpointer). The `gpointer` type gets translated into `void` by G-I meaning that get_item() implementations can't return any items. We can set the return type of the get_item() vfunc explicitly to GObject, which fixes the issue. This patch also removes the existing (type GObject) annotation on g_list_model_get_item(), which is necessary because if its return type matches that of the get_item() vfunc, G-I connects the two and propagates the 'skip' annotation from one to the other resulting in the get_item() vfunc being hidden. There's no API break here because the 'skip' annotation makes g_list_model_get_item() invisible to G-I users anyway. https://bugzilla.gnome.org/show_bug.cgi?id=787271
bb26bc29