This repository was archived by the owner on Feb 25, 2025. It is now read-only.
File tree 1 file changed +8
-2
lines changed
shell/platform/darwin/macos/framework/Source
1 file changed +8
-2
lines changed Original file line number Diff line number Diff line change 28
28
static constexpr int32_t kMousePointerDeviceId = 0 ;
29
29
static constexpr int32_t kPointerPanZoomDeviceId = 1 ;
30
30
31
+ // A trackpad touch following inertial scrolling should cause an inertia cancel
32
+ // event to be issued. Use a window of 50 milliseconds after the scroll to account
33
+ // for delays in event propagation observed in macOS Ventura.
34
+ static constexpr double kTrackpadTouchInertiaCancelWindowMs = 0.050 ;
35
+
31
36
/* *
32
37
* State tracking for mouse events, to adapt between the events coming from the system and the
33
38
* events that the embedding API expects.
@@ -843,8 +848,9 @@ - (void)swipeWithEvent:(NSEvent*)event {
843
848
- (void )touchesBeganWithEvent : (NSEvent *)event {
844
849
NSTouch * touch = event.allTouches .anyObject ;
845
850
if (touch != nil ) {
846
- if ((event.timestamp - _mouseState.last_scroll_momentum_changed_time ) < 0.050 ) {
847
- // The trackpad has been touched within 50 ms following a scroll momentum event.
851
+ if ((event.timestamp - _mouseState.last_scroll_momentum_changed_time ) <
852
+ kTrackpadTouchInertiaCancelWindowMs ) {
853
+ // The trackpad has been touched following a scroll momentum event.
848
854
// A scroll inertia cancel message should be sent to the framework.
849
855
NSPoint locationInView = [self .flutterView convertPoint: event.locationInWindow fromView: nil ];
850
856
NSPoint locationInBackingCoordinates =
You can’t perform that action at this time.
0 commit comments