Mapping the window before selecting for XI2 events leaves some events out
(e.g. enter events if the pointer is already in the area where the window is
being mapped).
Reported-by: Thomas Jaeger
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Window subwindow = XCreateSimpleWindow(dpy, win, 50, 50, 50, 50, 0, 0,
BlackPixel(dpy, 0));
Window subwindow = XCreateSimpleWindow(dpy, win, 50, 50, 50, 50, 0, 0,
BlackPixel(dpy, 0));
- XSelectInput(dpy, win, ExposureMask);
XMapWindow(dpy, subwindow);
XMapWindow(dpy, subwindow);
- XMapWindow(dpy, win);
- XFlush(dpy);
+ XSelectInput(dpy, win, ExposureMask);
list(display, argc, argv, name, desc);
win = create_win(display);
list(display, argc, argv, name, desc);
win = create_win(display);
- XSync(display, False);
-
/* Select for motion events */
mask.deviceid = XIAllDevices;
mask.mask_len = 2;
/* Select for motion events */
mask.deviceid = XIAllDevices;
mask.mask_len = 2;
XISetMask(mask.mask, XI_HierarchyChanged);
XISetMask(mask.mask, XI_PropertyEvent);
XISelectEvents(display, win, &mask, 1);
XISetMask(mask.mask, XI_HierarchyChanged);
XISetMask(mask.mask, XI_PropertyEvent);
XISelectEvents(display, win, &mask, 1);
+ XMapWindow(display, win);