カスタム ポーリング関数を修正しようとしています ( http://pastie.org/1298915を参照)。clutter ライブラリの OS X バックエンド コードからのものです。次のように設定されています。
void
_clutter_events_osx_init (void)
{
g_assert (old_poll_func == NULL);
old_poll_func = g_main_context_get_poll_func (NULL);
g_main_context_set_poll_func (NULL, clutter_event_osx_poll_func);
}
void
_clutter_events_osx_uninit (void)
{
if (old_poll_func)
{
g_main_context_set_poll_func (NULL, old_poll_func);
old_poll_func = NULL;
}
}
ソケットからイベントを取得し、ネイティブの mac os x アプリに転送しています。問題は、libsoup ライブラリ イベントを libsoup で正しく処理する必要があることです。そのため、old_poll_func() の動作を使用する必要があります。しかし、整理されていないイベントをフィルタリングする方法と、それらに対してのみ old_poll_func を使用する方法がわかりません。