xwm: Define SEND_EVENT_MASK and EVENT_TYPE macros to clarify xcb event type checks

MoD 12 years ago committed by Kristian Høgsberg
parent 26ed73cee8
commit 3170012ec5
  1. 7
      src/xwayland/window-manager.c

@ -89,6 +89,9 @@ struct motif_wm_hints {
#define _NET_WM_MOVERESIZE_MOVE_KEYBOARD 10 /* move via keyboard */ #define _NET_WM_MOVERESIZE_MOVE_KEYBOARD 10 /* move via keyboard */
#define _NET_WM_MOVERESIZE_CANCEL 11 /* cancel operation */ #define _NET_WM_MOVERESIZE_CANCEL 11 /* cancel operation */
#define SEND_EVENT_MASK (0x80)
#define EVENT_TYPE(event) ((event)->response_type & ~SEND_EVENT_MASK)
struct weston_wm_window { struct weston_wm_window {
struct weston_wm *wm; struct weston_wm *wm;
xcb_window_t id; xcb_window_t id;
@ -748,7 +751,7 @@ weston_wm_handle_unmap_notify(struct weston_wm *wm, xcb_generic_event_t *event)
if (our_resource(wm, unmap_notify->window)) if (our_resource(wm, unmap_notify->window))
return; return;
if (unmap_notify->response_type & 0x80) if (unmap_notify->response_type & SEND_EVENT_MASK)
/* We just ignore the ICCCM 4.1.4 synthetic unmap notify /* We just ignore the ICCCM 4.1.4 synthetic unmap notify
* as it may come in after we've destroyed the window. */ * as it may come in after we've destroyed the window. */
return; return;
@ -1333,7 +1336,7 @@ weston_wm_handle_event(int fd, uint32_t mask, void *data)
continue; continue;
} }
switch (event->response_type & ~0x80) { switch (EVENT_TYPE(event)) {
case XCB_BUTTON_PRESS: case XCB_BUTTON_PRESS:
case XCB_BUTTON_RELEASE: case XCB_BUTTON_RELEASE:
weston_wm_handle_button(wm, event); weston_wm_handle_button(wm, event);

Loading…
Cancel
Save