問題があります: 1 つのスレッドが、メイン スレッドからリッスンされるイベントを発生させます。eventHandler のメイン スレッドは、次のようなメッセージ ダイアログを表示します。
MessageDialog md = new MessageDialog (parent_window, flags, msgtype, btntype, msg);
md.Run ();
md.Destroy();
ただし、アプリケーションは md.Run(); でクラッシュします。(gtk.application.invoke() を使用して messageDialog を発生させると、クラッシュは発生しませんが、ダイアログにモダリティもありません。)