Blender Git Commit Log

Git Commits -> Revision bb3d6d7

August 16, 2021, 04:19 (GMT)
Fix T88386: Continuous Grab occasionally jumping on Arm64 MacOS

During the processing of a continuous drag event, other mouse move
events may be in the queue waiting to be processed.

But when a mouse wrapping happens, these waiting mouse move events
become out of date as they report a mouse position prior to wrapping.

The current code ignores these events by comparing their `timestamp` to
the time recorded in the last mouse wrapping.

The bug happens because the computed value in
`mach_absolute_time() * 1e-9` for some reason is incompatible with the
value of `[event timestamp]`.

Since macOS 10.6, we have a new way to get the amount of time the
system has been awake. `[[NSProcessInfo processInfo] systemUptime]`.

Using this updated method fixed the problem.

Differential Revision: https://developer.blender.org/D12202

Commit Details:

Full Hash: bb3d6d712e11a80bb0ebf8a53b0dbf95920e0eac
Parent Commit: 7c7a576
Committed By: YimingWu
Lines Changed: +1, -1

1 Modified Path:

/intern/ghost/intern/GHOST_SystemCocoa.mm (+1, -1) (Diff)
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021