From ebd1261e58e89f2d53e149c0512af7b432ee04d4 Mon Sep 17 00:00:00 2001 From: "trop[bot]" <37223003+trop[bot]@users.noreply.github.com> Date: Fri, 2 Jul 2021 08:43:40 +0900 Subject: [PATCH] fix: potential crash on macOS app exit (#29962) 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 b1a52fdd4c658..4691ed148b39f 100644 --- a/shell/browser/native_window_mac.mm +++ b/shell/browser/native_window_mac.mm @@ -415,7 +415,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]) @@ -1699,7 +1699,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() {