On 08/20/2014 12:13 PM, Pekka Paalanen wrote:
What would be a use case, where you might get blinking?
> If the
item is highlighted because an action with the input tool on any wl_surface may affect it, why remove the highlight when the input tool leaves?
That describes the situation pretty closely, except the action is on some subset of the wl_surfaces (for instance, only on the wl_surfaces that belong to the client).
When an exit event comes in the client does not know if it is because the cursor entered another surface that will keep the highlighting on. It needs to peek ahead to see if there is an enter event in order to decide whether to turn the highlighting off. Since it can't know if perhaps the other surface is for another client, it can't just wait for the enter event, since that may never happen.
One way to fix this would be to send the enter event *before* the exit event. Another, which would actually work the best, is to not send the exit event at all.
Allowing these solutions is one of the reasons I disagree with the idea that perfect pairing of events must be done by each level of wayland. It is actually trivial for clients to recover from mismatched events, and they serve useful purposes like this.
_______________________________________________ wayland-devel mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/wayland-devel
