summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJulien Danjou <julien@danjou.info>2008-09-16 15:27:49 +0200
committerJulien Danjou <julien@danjou.info>2008-09-16 15:34:25 +0200
commit72c6da6b8fa520576cf24c0bbf53ee15c54d02c4 (patch)
tree3886f4246edee89ff422606fe012e1abe0f417fb
parent2e20cc2352dff720a66ef9b02fbfee75d3aa77e5 (diff)
event: define XCB_EVENT_RESPONSE_TYPE_MASK
And use it. Signed-off-by: Julien Danjou <julien@danjou.info>
-rw-r--r--event/event.c2
-rw-r--r--event/xcb_event.h4
2 files changed, 5 insertions, 1 deletions
diff --git a/event/event.c b/event/event.c
index e19a077..1d0f69c 100644
--- a/event/event.c
+++ b/event/event.c
@@ -47,7 +47,7 @@ static xcb_event_handler_t *
get_event_handler(xcb_event_handlers_t *evenths, int event)
{
assert(event < 256);
- event &= 0x7f;
+ event &= XCB_EVENT_RESPONSE_TYPE_MASK;
assert(event >= 2);
return &evenths->event[event - 2];
}
diff --git a/event/xcb_event.h b/event/xcb_event.h
index 19dd492..2e57bd6 100644
--- a/event/xcb_event.h
+++ b/event/xcb_event.h
@@ -35,6 +35,10 @@
extern "C" {
#endif
+#define XCB_EVENT_RESPONSE_TYPE_MASK (0x7f)
+#define XCB_EVENT_RESPONSE_TYPE(e) (e->response_type & XCB_EVENT_RESPONSE_TYPE_MASK)
+#define XCB_EVENT_SENT(e) (e->response_type & ~XCB_EVENT_RESPONSE_TYPE_MASK)
+
typedef int (*xcb_generic_event_handler_t)(void *data, xcb_connection_t *c, xcb_generic_event_t *event);
typedef int (*xcb_generic_error_handler_t)(void *data, xcb_connection_t *c, xcb_generic_error_t *error);