A bunch of new commandline options sneaked in without docs...
This problem was pointed out in bug 639873. The patch here is based on Matt Barnes patch, I've added a testcase as well.
If this isn't done, the system-wide glib is used for this test, and that can cause test failures. https://bugzilla.gnome.org/621368
This fixes a performance regression wrt the old NOP emission handler.
Rename G_SPAWN_ERROR_2BIG to G_SPAWN_ERROR_TOO_BIG (while keeping the old name for compatibility), to fix problems with language bindings where the old name translates into something that would be syntactically invalid due to starting with a digit. https://bugzilla.gnome.org/show_bug.cgi?id=671025
We were attempting to unregister our ownership of our D-Bus name even in the case that we were non-unique (ie: we didn't actually own the name). Rework the logic a bit to prevent that: for non-unique, we leave impl->bus_name as NULL and we only register/unregister if it is non-NULL.
Hides ELF-only linker flag -export-dynamic from non-ELF linkers.
When there is only one closure handling a signal emission and it doesn't have a bunch of complicated features enabled we can short circuit the va_args collection into GValues and call the callback via the va_marshaller directly. https://bugzilla.gnome.org/show_bug.cgi?id=661140
If the signal argumment types matches a built in standard marshaller we use the va_marshaller for that, and also the normal marshaller if NULL was specified (as its faster than the generic one).
This lets you set a va_marshaller on your signal which will be propagated to all closures for the signal. Also, automatically uses the generica va_marshaller if you specify a NULL c_marshaller. https://bugzilla.gnome.org/show_bug.cgi?id=661140
These closures support being invoked on a va_args which can be useful as you can then avoid boxing the va_args into GValues in certain cases. https://bugzilla.gnome.org/show_bug.cgi?id=661140
This means we're not abusing the notifiers for meta_marshallres, and we're able to later cleanly add other fields to GClosure. We still have to leave the ABI intact for the GClosure->meta_marshal bit, as old G_CLOSURE_N_NOTIFIERS macro instances still accesses it. However, we always set it to zero to keep those macros working. https://bugzilla.gnome.org/show_bug.cgi?id=661140
generic means it uses the generic marshaller empty means the vfunc pointer is NULL https://bugzilla.gnome.org/show_bug.cgi?id=661140