0

操作系统:Arch Linux

我在窗口管理器中使用 pango cairo 来绘制文本。到目前为止,我在退出窗口管理器清理 pangocairo 后一直在使用这三个语句。

    pango_cairo_font_map_set_default(nullptr);
    cairo_debug_reset_static_data();
    FcFini();

但是自从更新 pango 到 1:1.48.3-1 (从 1:1.48.2-1 )。

    cairo_debug_reset_static_data(); ( causes SIGABRT )
    FcFini(); ( causes SIGABRT when live above removed )

如果我删除这些语句,valgrind 会显示一些直接丢失的块和许多 (3k+) 间接丢失的块,这些块通常分别为 0 和少量 (~900) 块,这些行和以前的 pango 版本。

这只是最近 pango 版本的错误还是发生了一些变化?

我目前的解决方案是安装 pango 1:1.48.2-1/var/cache/pacman/pkg/并忽略更新。

编辑:我正在链接到 gist,它在不使用 3 行时有内存泄漏的 valgrind 报告。 https://gist.github.com/Abh15h3k/6bfd9c17d6a6714676626df1eb4b02cf

编辑 2:我正在添加一个简短的 c 代码来演示该问题。我已经添加了关于我如何编译它以及问题发生在哪里以及它们是什么的评论。 https://gist.github.com/Abh15h3k/45df35e56bcc4fd55662d51d53620a16

4

0 回答 0