Improve support for interface types

This MR does 3 things:

  1. Add g_type_interface_instantiable_prerequisite() API

  2. Use that API to allow interface return types in the FFI marshaller for closures (and thereby in signals)

  3. Make g_value_copy() from/to object types to/from interface types work the same way it works between object types.

The commit messages have longer explanations about why I added them, but it comes down to me discovering these issues while working on my GTK4 listview branch.

Merge request reports

Loading