From 9d19a8bb53d7285ba352004e47e76474f20ab7c2 Mon Sep 17 00:00:00 2001 From: Michael Stapelberg Date: Tue, 20 Jul 2010 20:13:40 +0200 Subject: make event loop simpler (Thanks to Jamey Sharp) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit As explained in Jamey’s post on the XCB mailing list, the event loop can/should be written in a more simple way than it was before in xcb-event. See: or http://lists.freedesktop.org/archives/xcb/2010-July/006292.html --- i3lock.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'i3lock.c') diff --git a/i3lock.c b/i3lock.c index 0fa384c..cb671d5 100644 --- a/i3lock.c +++ b/i3lock.c @@ -324,7 +324,11 @@ int main(int argc, char *argv[]) { dpms_turn_off_screen(conn); while ((event = xcb_wait_for_event(conn))) { - int type = x_event_type(event); + if (event->response_type == 0) + errx(1, "XCB: Invalid event received"); + + /* Strip off the highest bit (set if the event is generated) */ + int type = (event->response_type & 0x7F); if (type == XCB_EXPOSE) { handle_expose_event(); -- cgit v1.1