compositor-x11: Only use xcb_poll_for_queued_event if we have it
authorKristian Høgsberg <krh@bitplanet.net>
Mon, 25 Apr 2011 19:41:59 +0000 (15:41 -0400)
committerKristian Høgsberg <krh@bitplanet.net>
Mon, 25 Apr 2011 19:41:59 +0000 (15:41 -0400)
Otherwise we can just fall back to xcb_poll_for_event, and just do a
harmless read on the socket.

compositor/compositor-x11.c
configure.ac

index 2f02ec3..1996737 100644 (file)
@@ -383,7 +383,11 @@ x11_compositor_next_event(struct x11_compositor *c,
        if (mask & WL_EVENT_READABLE) {
                *event = xcb_poll_for_event(c->conn);
        } else {
+#ifdef HAVE_XCB_POLL_FOR_QUEUED_EVENT
                *event = xcb_poll_for_queued_event(c->conn);
+#else
+               *event = xcb_poll_for_event(c->conn);
+#endif
        }
 
        return *event != NULL;
index 8873bd0..8c5a8af 100644 (file)
@@ -21,6 +21,15 @@ LT_INIT
 
 PKG_PROG_PKG_CONFIG()
 
+PKG_CHECK_MODULES([XCB], xcb)
+xcb_save_LIBS=$LIBS
+xcb_save_CFLAGS=$CFLAGS
+CFLAGS=$XCB_CFLAGS
+LIBS=$XCB_LIBS
+AC_CHECK_FUNCS([xcb_poll_for_queued_event])
+LIBS=$xcb_save_LIBS
+CFLAGS=$xcb_save_CFLAGS
+
 AC_CHECK_FUNC([dlopen], [],
               AC_CHECK_LIB([dl], [dlopen], DLOPEN_LIBS="-ldl"))
 AC_SUBST(DLOPEN_LIBS)