方法

GObjectClosureinvalidate

声明 [src]

void
g_closure_invalidate (
  GClosure* closure
)

描述 [src]

在闭包上设置一个标志,以指示其调用环境已变为无效,并导致任何对 g_closure_invoke() 的未来调用都被忽略。

此外,在闭包上安装的无效化通知器将会在此点被调用。注意,除非你自己持有闭包的引用,否则无效化通知器可能会取消引用闭包并导致其被销毁,所以如果你需要在调用 g_closure_invalidate() 后访问闭包,确保你之前已经调用过 g_closure_ref()。

注意,当闭包的引用计数降到零时(除非它已经被无效化),也会调用 g_closure_invalidate()