Add override for g_object_bind_property_full()
g_object_bind_property_full() isn't introspectable, because two callbacks share the same closure/destroy. That's why g_object_bind_with_closures() was added, but unfortunately that doesn't work for us either due to a combination of the following:
-
we special-case GValue arguments and pass the unwrapped value to javascript instead of the actual GValue
-
there are no annotations for GClosures ("the 3rd parameter is (out)")
Changing the former would be a massive API break, not to mention that unwrapping GValues is almost always what we want.
The latter would require lots of work on the gobject-introspection side for a very limited number of use cases.
A custom override on the other hand only needs a very thin wrapper, so add that to finally make bind_property_full() available to JS.
The cast from (GDestroyNotify) to (GClosureNotify) currently triggers
a compiler warning that I didn't manage to get rid of, any help on
that would be appreciated.
Fixes #241 (closed)