This is an automated email from the git hooks/post-receive script.
git pushed a commit to branch wl/browser-all
in repository enlightenment.
View the commit online.
commit 99c6a96361c1e9210a439aca5bc68a50377f51cc
Author: Cedric BAIL <[email protected]>
AuthorDate: Sun Aug 9 11:18:53 2026 -0600
tests - stop injecting touch on the device evas keeps for the mouse
The wlcs shim drove touch on multi-touch device 0. Evas reserves 0 for the
mouse pointer and drops MULTI_DOWN, MULTI_MOVE and MULTI_UP for it without
a word, so nothing ever reached _e_comp_wl_evas_cb_multi_down and every
touch test was measuring the drop rather than the compositor. With device 1
the whole down/motion/up sequence arrives.
That means no *TouchTest.* number recorded against E so far says anything
about E, including touch_respects_window_geom_offset and
touch_can_not_steal_pointer_based_move. Re-measure them.
wlcs only ever drives one touch point and matches down to up by whatever id
the compositor reports back, so moving off 0 costs it nothing.
The protocol description carries the warning too, since the next caller of
wl_test.touch_down has no way to guess it and gets silence rather than an
error.
Co-Authored-By: Claude Opus 5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01FtoiXoSKUmZb6Aix6U3GZS
---
src/protocol/wl-test.xml | 8 ++++++++
src/tests/wlcs/e_wlcs.c | 14 +++++++++++---
2 files changed, 19 insertions(+), 3 deletions(-)
diff --git a/src/protocol/wl-test.xml b/src/protocol/wl-test.xml
index c95343c61..6cbdd5be6 100644
--- a/src/protocol/wl-test.xml
+++ b/src/protocol/wl-test.xml
@@ -153,6 +153,14 @@
Single-touch is enough for what the conformance suite drives. The id
maps to the evas multi-touch device number, which is what E forwards
as the wl_touch id.
+
+ The id must be 1 or greater. Evas reserves multi-touch device 0 for
+ the mouse pointer and silently drops MULTI_DOWN, MULTI_MOVE and
+ MULTI_UP for it, so a caller passing 0 gets no wl_touch events at all
+ and no diagnostic. Measured: with id 0 nothing reaches E's
+ _e_comp_wl_evas_cb_multi_down; with id 1 the full down/motion/up
+ sequence arrives. Every touch result taken before this was understood
+ was measuring the drop rather than the compositor.
</description>
<arg name="id" type="int"/>
<arg name="x" type="int"/>
diff --git a/src/tests/wlcs/e_wlcs.c b/src/tests/wlcs/e_wlcs.c
index e9779e6d1..e8b2d350a 100644
--- a/src/tests/wlcs/e_wlcs.c
+++ b/src/tests/wlcs/e_wlcs.c
@@ -586,13 +586,21 @@ _server_create_pointer(WlcsDisplayServer *server)
/* ------------------------------------------------------------------ touch */
+/* Not 0. Evas reserves multi-touch device 0 for the mouse pointer and drops
+ * MULTI_DOWN/MOVE/UP for it without a word, so every touch test run through
+ * this shim before 2026-08-09 was injecting into a black hole and measuring
+ * nothing. See src/protocol/wl-test.xml, touch_down. wlcs only ever drives one
+ * touch point and matches down to up by the id the compositor reports, so
+ * which non-zero number this is does not matter to it. */
+#define E_WLCS_TOUCH_ID 1
+
static void
_touch_down(WlcsTouch *touch, wl_fixed_t x, wl_fixed_t y)
{
E_Touch *t = (E_Touch *)touch;
if (!t->server->ctrl_test) return;
- wl_test_touch_down(t->server->ctrl_test, 0,
+ wl_test_touch_down(t->server->ctrl_test, E_WLCS_TOUCH_ID,
wl_fixed_to_int(x), wl_fixed_to_int(y));
wl_display_roundtrip(t->server->ctrl);
}
@@ -603,7 +611,7 @@ _touch_move(WlcsTouch *touch, wl_fixed_t x, wl_fixed_t y)
E_Touch *t = (E_Touch *)touch;
if (!t->server->ctrl_test) return;
- wl_test_touch_move(t->server->ctrl_test, 0,
+ wl_test_touch_move(t->server->ctrl_test, E_WLCS_TOUCH_ID,
wl_fixed_to_int(x), wl_fixed_to_int(y));
wl_display_roundtrip(t->server->ctrl);
}
@@ -614,7 +622,7 @@ _touch_up(WlcsTouch *touch)
E_Touch *t = (E_Touch *)touch;
if (!t->server->ctrl_test) return;
- wl_test_touch_up(t->server->ctrl_test, 0);
+ wl_test_touch_up(t->server->ctrl_test, E_WLCS_TOUCH_ID);
wl_display_roundtrip(t->server->ctrl);
}
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.