2014-01-22 70 views
0

我創建一個應用程序的GTK這樣的:

Glib::RefPtr<Gtk::Application> app; 
try { 
    app = Gtk::Application::create(argc, argv, "loocal.testgtk", 
     Gio::APPLICATION_HANDLES_COMMAND_LINE); 
} 
catch (...) { 
    .... 
} 

如果X服務器是不存在的(不可達)的過程被中止,從未執行catch(...)部分。

問:有沒有一種方法可以防止中止並捕獲這種異常 - 例如重試或連接到後退顯示器?

另外:有沒有辦法在與X服務器的連接中斷時捕獲異常 - 爲了(嘗試)重新啓動應用程序的GUI部分並重新連接到X服務器或重新連接到X服務器服務器?

回答

2

如果顯示器無法打開,則默認爲簡單地調用exit(1)

如果您想覆蓋此項,請在執行以下操作之前執行以下操作。請致電gtk_init_check(),然後gdk_display_open()gdk_display_manager_set_default_display()

相關問題