From 6feed17387158729381fbf6a4af0754f9243b7ba Mon Sep 17 00:00:00 2001 From: "trop[bot]" <37223003+trop[bot]@users.noreply.github.com> Date: Fri, 2 Jul 2021 08:43:22 +0900 Subject: [PATCH] fix: potential crash on macOS app exit (#29961) Co-authored-by: Shelley Vohr --- shell/browser/native_window_mac.mm | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/shell/browser/native_window_mac.mm b/shell/browser/native_window_mac.mm index 28a31e4d6c5de..46be083762ea1 100644 --- a/shell/browser/native_window_mac.mm +++ b/shell/browser/native_window_mac.mm @@ -413,7 +413,7 @@ void ViewDidMoveToSuperview(NSView* self, SEL _cmd) { // Use an NSEvent monitor to listen for the wheel event. BOOL __block began = NO; wheel_event_monitor_ = [NSEvent - addLocalMonitorForEventsMatchingMask:NSScrollWheelMask + addLocalMonitorForEventsMatchingMask:NSEventMaskScrollWheel handler:^(NSEvent* event) { if ([[event window] windowNumber] != [window_ windowNumber]) @@ -1682,7 +1682,10 @@ void ViewDidMoveToSuperview(NSView* self, SEL _cmd) { DCHECK(!IsClosed()); ui::NativeTheme::GetInstanceForNativeUi()->RemoveObserver(this); display::Screen::GetScreen()->RemoveObserver(this); - [NSEvent removeMonitor:wheel_event_monitor_]; + if (wheel_event_monitor_) { + [NSEvent removeMonitor:wheel_event_monitor_]; + wheel_event_monitor_ = nil; + } } void NativeWindowMac::OverrideNSWindowContentView() {