From: Peter Hutterer Date: Wed, 24 Jun 2009 00:30:45 +0000 (+1000) Subject: test_xi2: don't map the window before selecting for events. X-Git-Url: https://diplodocus.org/git/xorg-xinput/commitdiff_plain/1c28ba44958389892470688ce394c034dc8efa21?ds=inline;hp=--cc test_xi2: don't map the window before selecting for events. 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 --- 1c28ba44958389892470688ce394c034dc8efa21 diff --git a/src/test_xi2.c b/src/test_xi2.c index 5600291..2201692 100644 --- a/src/test_xi2.c +++ b/src/test_xi2.c @@ -36,10 +36,8 @@ static Window create_win(Display *dpy) Window subwindow = XCreateSimpleWindow(dpy, win, 50, 50, 50, 50, 0, 0, BlackPixel(dpy, 0)); - XSelectInput(dpy, win, ExposureMask); XMapWindow(dpy, subwindow); - XMapWindow(dpy, win); - XFlush(dpy); + XSelectInput(dpy, win, ExposureMask); return win; } @@ -268,8 +266,6 @@ test_xi2(Display *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; @@ -287,6 +283,7 @@ test_xi2(Display *display, XISetMask(mask.mask, XI_HierarchyChanged); XISetMask(mask.mask, XI_PropertyEvent); XISelectEvents(display, win, &mask, 1); + XMapWindow(display, win); XSync(display, False); {