【问题标题】:Do i need to do g_object_unref() on glib signal parameters?我需要对 glib 信号参数执行 g_object_unref() 吗?
【发布时间】:2015-12-10 15:21:21
【问题描述】:

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

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

【问题讨论】:

  • 对象的所有者是谁?你能添加一个例子吗?我从来没有默认添加引用,这取决于...

标签: glib gobject refcounting


【解决方案1】:

通常,当对象传递给回调时,您不会假定对对象的引用。仅当对象是带有“transfer full”注释的方法的返回值时,您才假定引用。您可以在文档中看到这些注释。

(我说“一般”是因为总有一些构建不良的库,其 API 违反了这些准则。不过,您对此无能为力。)

【讨论】:

    猜你喜欢
    • 2017-04-16
    • 2012-08-29
    • 1970-01-01
    • 2011-05-12
    • 2016-01-26
    • 1970-01-01
    • 2021-09-10
    • 2014-12-15
    • 2014-10-03
    相关资源
    最近更新 更多