Function

GObjectsignal_handlers_disconnect_matched

Declaration [src]

guint
g_signal_handlers_disconnect_matched (
  GObject* instance,
  GSignalMatchType mask,
  guint signal_id,
  GQuark detail,
  GClosure* closure,
  gpointer func,
  gpointer data
)

Description [src]

Disconnects all handlers on an instance that match a certain selection criteria.

The criteria mask is passed as a combination of GSignalMatchType flags, and the criteria values are passed as arguments. A handler must match on all flags set in mask to be disconnected (i.e. the match is conjunctive).

Passing at least one of the G_SIGNAL_MATCH_ID, G_SIGNAL_MATCH_CLOSURE, G_SIGNAL_MATCH_FUNC or G_SIGNAL_MATCH_DATA match flags is required for successful matches. If no handlers were found, 0 is returned, the number of disconnected handlers otherwise.

Support for G_SIGNAL_MATCH_ID was added in GLib 2.78.

Parameters

instance

Type: GObject

The instance to remove handlers from.

The data is owned by the caller of the function.
mask

Type: GSignalMatchType

Mask indicating which of signal_id, detail, closure, func and/or data the handlers have to match.

signal_id

Type: guint

Signal the handlers have to be connected to.

detail

Type: GQuark

Signal detail the handlers have to be connected to.

closure

Type: GClosure

The closure the handlers will invoke.

The argument can be NULL.
The data is owned by the caller of the function.
func

Type: gpointer

The C closure callback of the handlers (useless for non-C closures).

The argument can be NULL.
The data is owned by the caller of the function.
data

Type: gpointer

The closure data of the handlers’ closures.

The argument can be NULL.
The data is owned by the caller of the function.

Return value

Type: guint

The number of handlers that matched.