From be03c3cd323e4d28274f51404439d0e118f74b86 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ole=20Andr=C3=A9=20Vadla=20Ravn=C3=A5s?= Date: Fri, 9 Jul 2021 01:59:07 +0200 Subject: gobject-2.0: Fix the Closure.invoke() signature The return value must be initialized by the caller, as is clear from GLib's internal callers, and e.g. dummy_closure_marshal() on the callee side. So it appears the GLib type annotation is incorrect, as it specifies `out` but should be `inout`. --- vapi/gobject-2.0.vapi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vapi/gobject-2.0.vapi b/vapi/gobject-2.0.vapi index 34495100c..77b256455 100644 --- a/vapi/gobject-2.0.vapi +++ b/vapi/gobject-2.0.vapi @@ -87,7 +87,7 @@ namespace GLib { public void add_invalidate_notifier (void* notify_data, GLib.ClosureNotify notify_func); public void add_marshal_guards (void* pre_marshal_data, GLib.ClosureNotify pre_marshal_notify, void* post_marshal_data, GLib.ClosureNotify post_marshal_notify); public void invalidate (); - public void invoke (out GLib.Value return_value, [CCode (array_length_cname = "n_param_values", array_length_pos = 1.5, array_length_type = "guint")] GLib.Value[] param_values, void* invocation_hint); + public void invoke (ref GLib.Value return_value, [CCode (array_length_cname = "n_param_values", array_length_pos = 1.5, array_length_type = "guint")] GLib.Value[] param_values, void* invocation_hint = null); [CCode (has_construct_function = false)] public Closure.object (uint sizeof_closure, GLib.Object object); public unowned GLib.Closure @ref (); -- cgit v1.2.1