Skip to content
  • Niels De Graef's avatar
    Don't pass default GLib marshallers for signals · 4812c408
    Niels De Graef authored and Nicolas Dufresne's avatar Nicolas Dufresne committed
    By passing NULL to `g_signal_new` instead of a marshaller, GLib will
    actually internally optimize the signal (if the marshaller is available
    in GLib itself) by also setting the valist marshaller. This makes the
    signal emission a bit more performant than the regular marshalling,
    which still needs to box into `GValue` and call libffi in case of a
    generic marshaller.
    
    Note that for custom marshallers, one would use
    `g_signal_set_va_marshaller()` with the valist marshaller instead.
    4812c408