-
Simon Feltman authored
Unify and refactor caller and callee GObject argument marshalers. Combine code from the large switch statement used to marshal arguments to and from vfuncs/closures with the marshalers used for direct calls to gi functions. This fixes a reference leak when marshalling GObjects to Python with transfer=full due to the diverging code paths. Replace ability in gobject_new_full to optionally sink objects with ability to optionaly "steal" objects. This fits the premise that binding layers should always sink objects initially. The steal argument is then used for marshalling arguments which are transfer=full. Add hacks and comments to work around GTK+ bugs 693393 and 693400. https://bugzilla.gnome.org/show_bug.cgi?id=687522
5efe2e5c