static CoglBool wayland_event_source_prepare (GSource *base, int *timeout) { WaylandEventSource *source = (WaylandEventSource *)base; *timeout = -1; wl_display_flush_clients (source->display); return FALSE; }
static int wheatley_compositor_ALooper_func(int fd, int events, void *data) { struct wheatley_compositor *wc = data; ALooper *looper = ALooper_forThread(); if (!looper || looper != wc->looper) { ALOGD("Wrong Looper. Removing dispatch hook."); return 0; /* Not the right looper */ } if (events & ALOOPER_EVENT_INPUT) wl_event_loop_dispatch(wl_display_get_event_loop(wc->display), 0); wl_display_flush_clients(wc->display); return 1; }
void Compositor::dispatchEvents(int timeout) { wl_display_flush_clients(m_display); wl_event_loop_dispatch(m_loop, timeout); }