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.

Reply via email to