Don't pass default GLib marshallers for signals
authorNiels De Graef <nielsdegraef@gmail.com>
Thu, 29 Aug 2019 05:45:45 +0000 (07:45 +0200)
committerThibault Saunier <tsaunier@igalia.com>
Thu, 24 Oct 2019 13:19:09 +0000 (15:19 +0200)
commit35d140ad92572842fd6037184e921cb9497e427b
tree5914a304c03ee67713ace048d50462536916375a
parent44420b2e567d81d529fa9a01b8646817bf927a89
Don't pass default GLib marshallers for signals

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.
ges/ges-container.c
ges/ges-layer.c
ges/ges-marker-list.c
ges/ges-meta-container.c
ges/ges-project.c
ges/ges-timeline-element.c
ges/ges-timeline.c
ges/ges-track-element.c
ges/ges-track.c
plugins/nle/nlecomposition.c
plugins/nle/nleoperation.c