Connecting delegate variable to signal fails
delegate void FooFunc ();
class Foo : Object {
public signal void bar ();
public Foo () {
FooFunc func = () => {};
bar.connect (func);
}
}
void main () {
var foo = new Foo ();
}
This code cannot be compiled due to bad C code. "connect" signal method corresponds to "g_signal_connect_data". GClosureNotify destroy_data parameter is missing.
test.vala.c:83:9: error: too few arguments to function ‘g_signal_connect_data’
83 | g_signal_connect_data (self, "bar", (GCallback) ___lambda4__foo_func, self, 0);
| ^~~~~~~~~~~~~~~~~~~~~
Edited by Rico Tzschichholz