【发布时间】:2019-10-03 23:06:50
【问题描述】:
我正在编写一个 C++ 应用程序,它会在某个时候创建一个 GTK3 窗口,同时还在其他地方运行 X11 代码。
对于纯 X11 部分,我使用 XOpenDisplay() 打开显示。
运行 X11 部分并随后打开 GTK 窗口可以正常工作。多次运行 X11 部件也没有问题,因为我使用 XCloseDisplay 释放了那里的显示。
当我尝试运行 X11 代码时会出现我面临的问题 gtk 已初始化(更具体地说,在 gtk 初始化后调用 XOpenDisplay())。
我怀疑在运行gtk_init() 之后显示永远不会被释放,即使在gtk_main_quit() 之后也是如此。
我在 gtk3 文档中没有找到任何关于取消初始化的信息。有没有办法正确地取消初始化 gtk 或以其他方式释放显示?
【问题讨论】: