I have an interface described in DBus Introspection XML format: <!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN" "http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd"> <node> <interface name="com.example.foo"> <method name="Bar" /> </interface> </node> I run gdbus-codegen like this: gdbus-codegen --interface-prefix=com.example --generate-c-code=foo-dbus --c-namespace=Dbus foo.xml I use the code like this: int main() { DbusFoo * skeleton = dbus_foo_skeleton_new(); g_object_unref(skeleton); return 0; } But the application ends up leaking the signal generated in `dbus_foo_default_init()` which looks like this: static void dbus_foo_default_init (DbusFooIface *iface) { /* GObject signals for incoming D-Bus method calls: */ /** * DbusFoo::handle-bar: * @object: A #DbusFoo. * @invocation: A #GDBusMethodInvocation. * * Signal emitted when a remote caller is invoking the <link linkend="gdbus-method-com-example-foo.Bar">Bar()</link> D-Bus method. * * If a signal handler returns %TRUE, it means the signal handler will handle the invocation (e.g. take a reference to @invocation and eventually call dbus_foo_complete_bar() or e.g. g_dbus_method_invocation_return_error() on it) and no order signal handlers will run. If no signal handler handles the invocation, the %G_DBUS_ERROR_UNKNOWN_METHOD error is returned. * * Returns: %TRUE if the invocation was handled, %FALSE to let other signal handlers run. */ g_signal_new ("handle-bar", G_TYPE_FROM_INTERFACE (iface), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (DbusFooIface, handle_bar), g_signal_accumulator_true_handled, NULL, g_cclosure_marshal_generic, G_TYPE_BOOLEAN, 1, G_TYPE_DBUS_METHOD_INVOCATION); } Am I using the generated code wrong or is it a bug in glib/gdbus-codegen? This message is subject to the following terms and conditions: MAIL DISCLAIMER<http://www.barco.com/en/maildisclaimer> _______________________________________________ gtk-list mailing list gtk-list@xxxxxxxxx https://mail.gnome.org/mailman/listinfo/gtk-list