summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPovilas Kanapickas <povilas@radix.lt>2022-02-05 18:52:48 +0200
committerPovilas Kanapickas <povilas@radix.lt>2022-02-05 19:13:32 +0200
commitb3986884ccf82da894fa967c1f60a3336a5faf36 (patch)
tree464d1ea004b69b8ad4bde8eed4967d5f452f9e3d
parent4c2d751df9db11e8ea14dc60bf936a8aa56227f7 (diff)
grab: Update tests for change of touch and async grab interaction
This test covers https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/866 which fixes https://gitlab.freedesktop.org/xorg/xserver/-/issues/1255. Signed-off-by: Povilas Kanapickas <povilas@radix.lt>
-rw-r--r--tests/server/grab.cpp12
1 files changed, 8 insertions, 4 deletions
diff --git a/tests/server/grab.cpp b/tests/server/grab.cpp
index 4d1226c..005548d 100644
--- a/tests/server/grab.cpp
+++ b/tests/server/grab.cpp
@@ -1374,7 +1374,7 @@ TEST_F(TouchGrabTest, AsyncGrabSameClientAfterTouchBegunNoTouchesInGrabMaskUngra
"The selection of C1 takes precedence over the selection of C2.\n"
"A touch begins.\n"
"Client C1 creates an active async grab without touch events in the mask\n"
- "The touch end event is immediately sent to client C1."
+ "The touch end event is *not* sent to client C1."
"Touch is updated, but all events related to it should be discarded.\n"
"C2 does not get any events.\n");
@@ -1404,7 +1404,9 @@ TEST_F(TouchGrabTest, AsyncGrabSameClientAfterTouchBegunNoTouchesInGrabMaskUngra
GrabModeAsync, GrabModeAsync, False, mask.GetMask()));
XSync(dpy1, False);
- EXPECT_EVENT(XIDeviceEvent, tend1, dpy1, GenericEvent, xi2_opcode, XI_TouchEnd);
+ // Not sending touch end event after async grab without touches is known bug
+ // It can't be fixed because GTK3 menu relies on the buggy behavior.
+ // EXPECT_EVENT(XIDeviceEvent, tend1, dpy1, GenericEvent, xi2_opcode, XI_TouchEnd);
ASSERT_TRUE(NoEventPending(dpy1));
TouchDev().TouchUpdate(120, 100, 0);
@@ -1423,7 +1425,7 @@ TEST_F(TouchGrabTest, AsyncGrabSameClientAfterTouchBegunNoTouchesInGrabMaskUngra
"The selection of C1 takes precedence over the selection of C2.\n"
"A touch begins.\n"
"Client C1 creates an active async grab without touch events in the mask\n"
- "The touch end event is immediately sent to client C1."
+ "The touch end event is *not* sent to client C1."
"Touch is updated, but all events related to it should be discarded.\n"
"C2 does not get any events.\n");
@@ -1453,7 +1455,9 @@ TEST_F(TouchGrabTest, AsyncGrabSameClientAfterTouchBegunNoTouchesInGrabMaskUngra
GrabModeAsync, GrabModeAsync, False, mask.GetMask()));
XSync(dpy1, False);
- EXPECT_EVENT(XIDeviceEvent, tend1, dpy1, GenericEvent, xi2_opcode, XI_TouchEnd);
+ // Not sending touch end event after async grab without touches is known bug
+ // It can't be fixed because GTK3 menu relies on the buggy behavior.
+ // EXPECT_EVENT(XIDeviceEvent, tend1, dpy1, GenericEvent, xi2_opcode, XI_TouchEnd);
ASSERT_TRUE(NoEventPending(dpy1));
TouchDev().TouchUpdate(120, 100, 0);