我需要对glib信号参数执行g_object_unref()吗?

时间:2015-12-10 15:21:21

标签: glib gobject refcounting

当我将信号连接到回调函数时,回调函数会传递参数。在对象传递给我的回调函数之前reference counter是否增加了,或者我必须自己增加它。

我想必须有某种约定,因为gtklibgobject的文档中提到了类似的内容。

1 个答案:

答案 0 :(得分:3)

通常,在将对象传递给回调时,不会假定对象的引用。当对象是使用“传输已满”注释的方法的返回值时,您只假设引用。您可以在文档中看到这些注释。

(我说“一般”,因为可能总是存在构造不良的库,其API违反了这些指导原则。但是,你不能对此做很多事情。)