Skip to content

gdbus-codegen: Emit GUnixFDLists if an arg has type `h` w/ min-version

This is a reimplementation of commit 4aba0356 from Will Thompson, but conditional on the caller passing --glib-min-version 2.64 to gdbus-codegen to explicitly opt-in to the new behaviour.

From the commit message for that commit:

Previously, if a method was not annotated with org.gtk.GDBus.C.UnixFD then the generated code would never contain GUnixFDList parameters, even if the method has 'h' (file descriptor) parameters. However, in this case, the generated code is essentially useless: the method cannot be called or handled except in degenerate cases where the file descriptors are missing or ignored.

Check the argument types for 'h', and if present, generate code as if org.gtk.GDBus.C.UnixFD annotation were specified.

Includes a unit test too.

Signed-off-by: Philip Withnall withnall@endlessm.com

Fixes: #1726 (closed)

Merge request reports