Browse Source

[X11] Handle PointerLeave through XI2

pull/4899/head
Nikita Tsukanov 5 years ago
parent
commit
a93ecd1c66
  1. 10
      src/Avalonia.X11/XI2Manager.cs

10
src/Avalonia.X11/XI2Manager.cs

@ -162,7 +162,9 @@ namespace Avalonia.X11
| XEventMask.Button4MotionMask
| XEventMask.Button5MotionMask
| XEventMask.ButtonPressMask
| XEventMask.ButtonReleaseMask;
| XEventMask.ButtonReleaseMask
| XEventMask.LeaveWindowMask
| XEventMask.EnterWindowMask;
}
public void OnWindowDestroyed(IntPtr xid) => _clients.Remove(xid);
@ -201,6 +203,12 @@ namespace Avalonia.X11
return;
}
if (ev.Type == XiEventType.XI_Leave)
{
client.ScheduleXI2Input(new RawPointerEventArgs(client.MouseDevice, ev.Timestamp, client.InputRoot,
RawPointerEventType.LeaveWindow, ev.Position, ev.Modifiers));
}
if (_multitouch && ev.Emulated)
return;

Loading…
Cancel
Save