g_signal_emitv (
  const GValue* instance_and_params,
  guint signal_id,
  GQuark detail,
  GValue* return_value


Emits a signal. Signal emission is done synchronously. The method will only return control after all handlers are called or signal emission was stopped.

Note that g_signal_emitv() doesn’t change return_value if no handlers are connected, in contrast to g_signal_emit() and g_signal_emit_valist().


instance_and_params An array of GValue

Argument list for the signal emission. The first element in the array is a GValue for the instance the signal is being emitted on. The rest are any arguments to be passed to the signal.

 The data is owned by the caller of the function.
signal_id guint

The signal id.

detail GQuark

The detail.

return_value GValue

Location to store the return value of the signal emission. This must be provided if the specified signal returns a value, but may be ignored otherwise.

 The argument will be modified by the function.
 The argument can be NULL.
 The called function takes ownership of the data, and is responsible for freeing it.