2014-02-11 86 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服務器通常由服務器關閉。