-
-
Notifications
You must be signed in to change notification settings - Fork 145
Description
Let's say I have three chained clients like this:
+---+
| C |
+---+
+---++---+
| A || B |
+---++---+
The mouse is connected to A, which then has a client declaration for B, which then has a client declaration for C.
When the mouse is moved from A to B to C, things work as expected. When the mouse moves back from C to B, that works fine. However, when the mouse moves from B to A, the mouse pointer in C (which at this point is at the bottom of the screen, where it was left after B took control back) moves by an amount that seems to be equal to the mouse event that crossed over from B to A (to the left). In other words, somehow, the mouse events are momentarily directed to C again when crossing back from B to A.
This only happens once. Moving back to B and again to A does not leak any events to C. It's only the first time after leaving C, then leaving B, that an event leaks. To make it happen again, I need to move the mouse all the way to C one more time.