解决GLib-GObject-CRITICAL **: g_signal_handlers_disconnect_matched: assertion `G_TYPE_CHECK_INSTANCE (...
时间: 2023-08-18 18:04:18 浏览: 285
glib-html-2.6.6.tar.gz_glib_glib-2.6.6.tar.b_linux gl
这个错误是由于在程序退出时,信号处理函数没有被正确地断开所导致的。可能的原因是信号处理函数注册了一个信号,但在程序退出时没有被正确地注销。
要解决这个问题,你可以使用 g_signal_handler_disconnect() 函数来手动断开信号处理函数的连接。你需要在信号处理函数被注册时保留下来其返回值,然后在程序退出时调用 g_signal_handler_disconnect() 函数来断开连接。
另外,你也可以使用 g_signal_handlers_disconnect_matched() 函数来断开所有与特定对象相关的信号处理函数的连接。这个函数需要提供对象、信号名称、函数指针和用户数据来匹配要断开的连接。
阅读全文