The signal flags are used to specify the behaviour of the signal, the
overall signal description outlines how especially the RUN flags control
the stages of a signal emission.
(defbitfield g-signal-flags
:run-first
:run-last
:run-cleanup
:no-recurse
:detailed
:action
:no-hooks
:must-collect
:deprecated)
- :run-first
- Invoke the object method handler in the first emission stage.
- :run-last
- Invoke the object method handler in the third emission stage.
- :run-cleanup
- Invoke the object method handler in the last emission stage.
- :no-recurse
- Signals being emitted for an object while currently
being in emission for this very object will not be emitted recursively, but instead cause the first emission to be restarted.
- :detailed
- The signal supports "::detail" appendices to the signal name upon handler connections and emissions.
- :action
- Action signals are signals that may freely be emitted on alive objects from user code via the g-signal-emit function and
friends, without the need of being embedded into extra code that performs
pre or post emission adjustments on the object. They can also be thought of as object methods which can be called generically by third-party code.
- :no-hooks
- No emissions hooks are supported for this signal.
- :must-collect
- Varargs signal emission will always collect the arguments, even if there are no signal handlers connected. Since 2.30
- :deprecated
- The signal is deprecated and will be removed in a future
version. A warning will be generated if it is connected while running with G_ENABLE_DIAGNOSTIC = 1. Since 2.32