mirror of
https://github.com/blender/blender
synced 2026-09-29 04:37:17 +03:00
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 |
||
|---|---|---|
| .. | ||
| intern | ||
| test | ||
| CMakeLists.txt | ||
| GHOST_C-api.h | ||
| GHOST_IContext.h | ||
| GHOST_IEvent.h | ||
| GHOST_IEventConsumer.h | ||
| GHOST_ISystem.h | ||
| GHOST_ISystemPaths.h | ||
| GHOST_ITimerTask.h | ||
| GHOST_IWindow.h | ||
| GHOST_IXrContext.h | ||
| GHOST_Path-api.h | ||
| GHOST_Rect.h | ||
| GHOST_Types.h | ||