0

カスタム ポーリング関数を修正しようとしています ( 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 を使用する方法がわかりません。

4

1 に答える 1

0

現在の乱雑なメインループ統合の制限を回避する簡単な方法はないと思います。

gdk/quartz でのメインループの統合を確認する必要があります。libsoup などを正しく処理できると思います。gdk コードを乱雑に適応させるのは簡単なはずですが、時間がかかるだけです。

于 2010-11-15T20:26:00.417 に答える