函数

GObjectsignal_handlers_unblock_matched

声明 [src]

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

描述 [src]

取消阻止实例中与特定选择准则匹配的所有处理程序。

筛选条件掩码作为 GSignalMatchType 标记组合传递,筛选条件值作为自变量传递。处理程序必须与 mask 中设置的所有标记匹配才能被取消阻止(即,匹配为连接符)。

通过至少一个 G_SIGNAL_MATCH_IDG_SIGNAL_MATCH_CLOSUREG_SIGNAL_MATCH_FUNCG_SIGNAL_MATCH_DATA 匹配标记进行传参对于成功匹配是必需的。如果没有找到处理程序,则返回 0,否则返回已取消阻止的处理程序数量。匹配条件不应应用于当前未阻止的任何处理程序。

在 GLib 2.78 中添加了对 G_SIGNAL_MATCH_ID 的支持。

参数

instance

类型: GObject

用于取消阻止处理程序的实例。

数据归调用此函数的调用方所有。
mask

类型: GSignalMatchType

掩码指示处理程序必须匹配 signal_iddetailclosurefunc 和/或 data 中的哪些项。

signal_id

类型: guint

处理程序必须连接到的信号。

detail

类型: GQuark

处理程序必须连接到的信号详细信息。

closure

类型: GClosure

处理程序将调用的闭包。

参数可以为 NULL
数据归调用此函数的调用方所有。
func

类型: gpointer

处理程序的 C 闭包回调(对非 C 闭包无用)。

参数可以为 NULL
数据归调用此函数的调用方所有。
data

类型: gpointer

处理程序闭包的闭包数据。

参数可以为 NULL
数据归调用此函数的调用方所有。

返回值

类型: guint

匹配的处理程序的数量。