Blender Git Loki
Git Commits -> Revision cd9dbe3
Revision cd9dbe3 by Nicholas Rishel (master) February 23, 2021, 19:25 (GMT) |
Revert high fequency mouse input for Windows. Windows mouse history function GetMouesMovePointsEx has well documented bugs where it receives and returns 32 bit screen coordinates, but internally truncates to unsigned 16 bits. For mouse (relative position) input this is not a problem as motion events and the resulting screen coordinates reliably fit within 16 bit precision. For tablets (absolute position) the 16 bit truncation results in corrupt history when tablet drivers use mouse_event or SendInput from the Windows API to move the mouse cursor. Both of these functions take absolute mouse position as singed 32 bit value on the range of 0-65535 (or 0x0-0xFFFF) inclusive. Values larger than 0x7FFF (the largest signed 16 bit value) are reliably corrupt when retrieved from GetMouesMovePointsEx history. This is true regardless of whether mouse history is retrieved using display resolution (GMMP_USE_DISPLAY_POINTS) or high resolution points (GMMP_USE_HIGH_RESOLUTION_POINTS), the latter of which should return points in range 0-65535. Reviewed By: brecht Maniphest Tasks: T85874 Differential Revision: https://developer.blender.org/D10507 |
Commit Details:
Full Hash: cd9dbe317d59456fa10495d2cfc4db70e5cfc162
Parent Commit: e497c1b
Lines Changed: +39, -112