2014-02-11 73 views
0

在调用XPending()我得到终端以下错误信息:XPending()报告错误的窗口关闭

XIO: fatal IO error 11 (Resource temporarily unavailable) on X server ":0.0" 

出现这种情况我点击窗口(在角落里的十字架)上的关闭按钮后。

否则,程序工作正常。我建议当我点击关闭按钮时,窗口管理器会突然断开我的应用程序与XServer的连接。所以连接不再有效,XPending返回一个错误。在拨打XPending()之前,我可以以某种方式检查连接是否仍处于活动状态?这里推荐的“良好做法”是什么?

回答

0

您需要处理WM_DELETE_WINDOW符合icccm规范的窗口管理器在关闭窗口之前向客户端发送的消息。在关闭最后一个顶层窗口之后,连接到X服务器通常由服务器关闭。