<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Nov 19, 2015 at 7:47 PM, Peter Hutterer <span dir="ltr"><<a href="mailto:peter.hutterer@who-t.net" target="_blank">peter.hutterer@who-t.net</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class=""><br>
</span>we had a bit of a discussion on IRC here, this is the attempt of a summary:<br>
A wl_touch.enter/leave event pair makes sense for some use-cases and can fix<br>
the xdg_popup case. The idea here is that if you move between two surfaces<br>
*of the same client* you send a wl_touch.leave(old_surface) followed by a<br>
wl_touch.enter(new_surface), with a wl_touch.update all within the same<br>
frame. Both enter/leave carry the touch ID and are thus per touchpoint.<br>
<br>
If a client is capable of handling the new enter/leave events, this is a way<br>
to tell them that a touch has moved away and that surface doesn't have it<br>
anymore, and for the new surface that a touch has appeared but wasn't set<br>
down in that spot (so it won't trigger in-client gestures like tapping).<br>
In X term, a wl_touch.enter/leave is similar to NotifyGrab.<br></blockquote><div><br></div><div>You know I have been trying to point out that the equivalent bug exists on wl_pointer enter/leave events for a couple years now, but all I get is hostility (witness recent emails). If you do manage to fix this problem, perhaps you could look into getting it fixed there, too?<br><br></div><div>Using a frame is a method of fixing it, but I think sending the enter event first, or not sending the exit at all, would also work.<br><br><br></div></div></div></div>