Fix leaking inout C arrays
g_*_info_invoke() changes the original state->in_args and state->args C arrays to the output values for (inout) arguments, thus losing the pointer to the originally allocated array. Remember that in state->args_data, so that we can free it in _pygi_marshal_cleanup_from_py_array(). Reproduced by test_gi.TestArray.test_array_fixed_inout test case.
Showing with 10 additions and 0 deletions