Skip to content

Store interface gtypes on dynamic classes to avoid clobbering vfuncs

Evan Welsh requested to merge ewlsh/fix-vfunc-clobberin into master

There are two problems with our current code:

  • We search for the first parent type with type info and then search its interfaces for vfuncs
  • If that fails we use g_type_interfaces which includes interfaces parent type's implement

As best I can tell there is no canonical way to get only the gtypes a type explicitly implements unless that type has associated object type info.

Thus, to handle this we need to store the interface types that were explicitly specified to registerClass.

Fixes #89 (closed)

Merge request reports