Skip to content

WIP: Refactor property handling and support more array types

Still WIP, since in d914f991 there is a memory-leak when handling C arrays

This PR is an assortment of various fixes to enable the setting GArray properties with introspected elements correctly in pygobject. One big change is that the set_property codepath is now unified - we always try to use the introspection data first and then fall back to the non-introspection path if that is unavailable.

Some tests which indicated that certain inputs were unsupported have been updated.

Some commits can be safely cherry-picked since they are unrelated to the main work done here. It should be pretty clear which ones those are.

The tests for GArray handling require an update to the Regress object in gobject-introspection!255

Ideas on how to handle the memory leak when unwinding C-array properties welcome.

#37

Might also fix #317 , #23 #14 and #284 , but that needs to be checked.

(And sorry for the long MR. This turned out to be non-trivial, which I guess explains why it went unfixed for so long)

Edited by Sam Spilsbury

Merge request reports