0

我正在尝试修复自定义投票功能(请参阅http://pastie.org/1298915)。它来自混乱库的 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 中的 mainloop 集成,我相信它会正确处理 libsoup 等。调整 gdk 代码以应对混乱应该很简单,只是耗时。

于 2010-11-15T20:26:00.417 回答