gtk3 - Gobject 的函数 G_TYPE_INSTANCE_GET_PRIVATE 已弃用
问题描述
我想构建 dbusmenu 库,但我不能,因为标题中的函数已被弃用。所有程序员都应该改用 G_ADD_PRIVATE。当然,我找到了解决方法,但我想修复代码(这是 Debian、MATE 等中使用的库)
我假设我不能替换宏,这太容易了,而且没有意义:).. 那么,有没有人可以为我提供一个如何在 GObjects 中使用 G_ADD_PRIVATE 的示例?谢谢
这是已弃用代码的示例:
static void
dbusmenu_defaults_init (DbusmenuDefaults *self)
{
self->priv = DBUSMENU_DEFAULTS_GET_PRIVATE(self);
self->priv->types = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, (GDestroyNotify)g_hash_table_destroy);
}
在哪里
#define DBUSMENU_DEFAULTS_GET_PRIVATE(o) \
(G_TYPE_INSTANCE_GET_PRIVATE ((o), DBUSMENU_TYPE_DEFAULTS, DbusmenuDefaultsPrivate))
解决方案
文档中G_ADD_PRIVATE
有一个示例。
推荐阅读
- apache-spark - spark-operator 登录 k8s
- c# - 正则表达式。排除匹配模式
- python - 我们如何使用带有 Python 3.7 的 ImageJ 应用程序来自动化图像处理......?
- .net - HighchartsRenderer 中的错误?
- python - 如何保持导入的轻量级并且仍然正确键入注释?
- c++ - QPlainTextEdit display slow performace
- javascript - 使用 plsql 或 javascript 在 oracle apex 20.1 中的交互式网格中获取行仅包含特定列中的特定值
- r-markdown - 更改通过插入图像选项插入的 Blogdown about.md 文件中图像的大小
- python - 如何在目录中查找列表项?
- java - 从同一目录中的另一个类访问公共类变量