gtk3 - GTK3:一个应用程序中的多个事件循环
问题描述
我不确定 GTK3 应用程序中是否可以有多个事件循环。从不同线程调用gtk_application_new()
/的天真方法失败了。g_application_run()
插件系统需要它,其中一个插件不知道另一个插件是否已经启动了事件循环。有一个原型应用程序演示(在 MSYS2 上)它在 Windows 中是可能的,但是 GTK3 中的天真方法一旦启动第二个事件循环就g_application_run()
失败了
(loop2.exe:11084): GLib-GIO-CRITICAL **: 12:47:26.573: g_application_run: assertion 'acquired_context' failed
我坚信这应该是可能的。我错过了什么?
snprintf(id,(sizeof id)-1,"net.sourceforge.pbelkner%d",loop->id);
app=gtk_application_new(id,G_APPLICATION_FLAGS_NONE);
g_signal_connect(app,"activate",G_CALLBACK(loop_activate),NULL);
g_application_run(G_APPLICATION(app),0,NULL);
g_object_unref(app);
解决方案
推荐阅读
- tensorflow - 在张量流中查找一个值的张量到另一个张量的索引
- javascript - 尝试构建反应库但不断收到错误:元素类型无效:预期为字符串
- python - 无法导入已安装的模块
- system-verilog - systemverilog 解压数组连接
- javascript - 将所有 CSS 规则解析为来自 JavaScript 的内存文档的内联样式?
- reactjs - 如何启用 Redux Devtools?
- java - 我应该在 MALLET 中使用哪个版本的 Java JDK?
- sql - Teradata 字符串/文本搜索
- reactjs - 如何使用 service-worker 将文件从 AWS 预缓存到我的 React 应用程序?
- c - C中的多个错误