fix: potential crash on macOS app exit (#29941)
This commit is contained in:
parent
a8b3c22518
commit
372ecf32e6
1 changed files with 5 additions and 2 deletions
|
@ -415,7 +415,7 @@ NativeWindowMac::NativeWindowMac(const gin_helper::Dictionary& options,
|
||||||
// Use an NSEvent monitor to listen for the wheel event.
|
// Use an NSEvent monitor to listen for the wheel event.
|
||||||
BOOL __block began = NO;
|
BOOL __block began = NO;
|
||||||
wheel_event_monitor_ = [NSEvent
|
wheel_event_monitor_ = [NSEvent
|
||||||
addLocalMonitorForEventsMatchingMask:NSScrollWheelMask
|
addLocalMonitorForEventsMatchingMask:NSEventMaskScrollWheel
|
||||||
handler:^(NSEvent* event) {
|
handler:^(NSEvent* event) {
|
||||||
if ([[event window] windowNumber] !=
|
if ([[event window] windowNumber] !=
|
||||||
[window_ windowNumber])
|
[window_ windowNumber])
|
||||||
|
@ -1699,7 +1699,10 @@ void NativeWindowMac::Cleanup() {
|
||||||
DCHECK(!IsClosed());
|
DCHECK(!IsClosed());
|
||||||
ui::NativeTheme::GetInstanceForNativeUi()->RemoveObserver(this);
|
ui::NativeTheme::GetInstanceForNativeUi()->RemoveObserver(this);
|
||||||
display::Screen::GetScreen()->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() {
|
void NativeWindowMac::OverrideNSWindowContentView() {
|
||||||
|
|
Loading…
Reference in a new issue