-
Simon Feltman authored
Add early check for array items holding pointers and simply assign the pointer to GIArgument.v_pointer prior giving it to the per-item marshaler. This simplifies marshaling and fixes leaks regarding arrays of GVariants by removing the unneeded g_variant_ref_sink (variants are always pointers). Conditionalize the use of g_variant_ref_sink based on transfer mode in the per-item marshaler. This fixes a reference leak where we are given ownership of the variant (transfer full) but added a new ref anyway. https://bugzilla.gnome.org/show_bug.cgi?id=693402
31263ac1