Skip to content
  • Simon Feltman's avatar
    Fix to Python marshaling leaks for arrays holding GVariants · 31263ac1
    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