开发者

How to combine mac event handling and gobject events in a custom poll function?

I'm trying to fix a custom poll function ( see http://pastie.org/1298915 ). It is from OS X backend code of clutter library. It is set like this:

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_fun开发者_如何学JAVAc (NULL, old_poll_func);
      old_poll_func = NULL;
    }
}

It is taking events from sockets and forwarding it to native mac os x app. The problem is I want libsoup library events to be handled by libsoup correctly which is why I need to use a behavior of old_poll_func(). But I don't know how to filter non-clutter events and how to use the old_poll_func only on them.


I think there is no simple way to work around the limitations of mainloop integration in current clutter.

One should take a look at the mainloop integration in gdk/quartz, I believe it would handle libsoup and such correctly. It ought to be straightforward to adapt the gdk code for clutter, just time consuming.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜