diff options
author | Peter Hutterer <peter.hutterer@who-t.net> | 2013-03-10 15:02:18 +1000 |
---|---|---|
committer | Peter Hutterer <peter.hutterer@who-t.net> | 2013-07-03 10:08:31 +1000 |
commit | cac73b0cddc5a3d9a97e1698a5498c26fd1b5e0f (patch) | |
tree | 2cfeb3222366bfe09762619e7590197a7482bba7 | |
parent | 11e355174ee28892ec028559ee85d327ef3a2325 (diff) |
test-xi2: allocate both masks at the same time
no functional changes for now, prep work for the --root flag
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-rw-r--r-- | src/test_xi2.c | 71 |
1 files changed, 38 insertions, 33 deletions
diff --git a/src/test_xi2.c b/src/test_xi2.c index 0b64fad..b64368e 100644 --- a/src/test_xi2.c +++ b/src/test_xi2.c @@ -321,7 +321,8 @@ test_xi2(Display *display, char *name, char *desc) { - XIEventMask mask; + XIEventMask mask[2]; + XIEventMask *m; Window win; int deviceid = -1; int rc; @@ -340,46 +341,50 @@ test_xi2(Display *display, win = create_win(display); /* Select for motion events */ - mask.deviceid = (deviceid == -1) ? XIAllDevices : deviceid; - mask.mask_len = XIMaskLen(XI_LASTEVENT); - mask.mask = calloc(mask.mask_len, sizeof(char)); - XISetMask(mask.mask, XI_ButtonPress); - XISetMask(mask.mask, XI_ButtonRelease); - XISetMask(mask.mask, XI_KeyPress); - XISetMask(mask.mask, XI_KeyRelease); - XISetMask(mask.mask, XI_Motion); - XISetMask(mask.mask, XI_DeviceChanged); - XISetMask(mask.mask, XI_Enter); - XISetMask(mask.mask, XI_Leave); - XISetMask(mask.mask, XI_FocusIn); - XISetMask(mask.mask, XI_FocusOut); + m = &mask[0]; + m->deviceid = (deviceid == -1) ? XIAllDevices : deviceid; + m->mask_len = XIMaskLen(XI_LASTEVENT); + m->mask = calloc(m->mask_len, sizeof(char)); + XISetMask(m->mask, XI_ButtonPress); + XISetMask(m->mask, XI_ButtonRelease); + XISetMask(m->mask, XI_KeyPress); + XISetMask(m->mask, XI_KeyRelease); + XISetMask(m->mask, XI_Motion); + XISetMask(m->mask, XI_DeviceChanged); + XISetMask(m->mask, XI_Enter); + XISetMask(m->mask, XI_Leave); + XISetMask(m->mask, XI_FocusIn); + XISetMask(m->mask, XI_FocusOut); #ifdef HAVE_XI22 - XISetMask(mask.mask, XI_TouchBegin); - XISetMask(mask.mask, XI_TouchUpdate); - XISetMask(mask.mask, XI_TouchEnd); + XISetMask(m->mask, XI_TouchBegin); + XISetMask(m->mask, XI_TouchUpdate); + XISetMask(m->mask, XI_TouchEnd); #endif - if (mask.deviceid == XIAllDevices) - XISetMask(mask.mask, XI_HierarchyChanged); - XISetMask(mask.mask, XI_PropertyEvent); - XISelectEvents(display, win, &mask, 1); + if (m->deviceid == XIAllDevices) + XISetMask(m->mask, XI_HierarchyChanged); + XISetMask(m->mask, XI_PropertyEvent); + XISelectEvents(display, win, m, 1); XMapWindow(display, win); XSync(display, False); - mask.deviceid = (deviceid == -1) ? XIAllMasterDevices : deviceid; - memset(mask.mask, 0, mask.mask_len); - XISetMask(mask.mask, XI_RawKeyPress); - XISetMask(mask.mask, XI_RawKeyRelease); - XISetMask(mask.mask, XI_RawButtonPress); - XISetMask(mask.mask, XI_RawButtonRelease); - XISetMask(mask.mask, XI_RawMotion); + m = &mask[1]; + m->deviceid = (deviceid == -1) ? XIAllMasterDevices : deviceid; + m->mask_len = XIMaskLen(XI_LASTEVENT); + m->mask = calloc(m->mask_len, sizeof(char)); + XISetMask(m->mask, XI_RawKeyPress); + XISetMask(m->mask, XI_RawKeyRelease); + XISetMask(m->mask, XI_RawButtonPress); + XISetMask(m->mask, XI_RawButtonRelease); + XISetMask(m->mask, XI_RawMotion); #ifdef HAVE_XI22 - XISetMask(mask.mask, XI_RawTouchBegin); - XISetMask(mask.mask, XI_RawTouchUpdate); - XISetMask(mask.mask, XI_RawTouchEnd); + XISetMask(m->mask, XI_RawTouchBegin); + XISetMask(m->mask, XI_RawTouchUpdate); + XISetMask(m->mask, XI_RawTouchEnd); #endif - XISelectEvents(display, DefaultRootWindow(display), &mask, 1); + XISelectEvents(display, DefaultRootWindow(display), m, 1); - free(mask.mask); + free(mask[0].mask); + free(mask[1].mask); { XEvent event; |