From 52bb1733f11d51915ab9c24e8424991a1d438cf3 Mon Sep 17 00:00:00 2001 From: Arlin Date: Fri, 28 Jan 2022 10:58:57 +0800 Subject: [PATCH] fix event monitor crash --- sources/AGEEventsObserver.swift | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/sources/AGEEventsObserver.swift b/sources/AGEEventsObserver.swift index 6723c4f..6087808 100644 --- a/sources/AGEEventsObserver.swift +++ b/sources/AGEEventsObserver.swift @@ -27,7 +27,8 @@ protocol AGEEventsObserverDataSource: NSObjectProtocol { class AGEEventsObserver: NSObject { weak var delegate: AGEEventsObserverDelegate? weak var dataSource: AGEEventsObserverDataSource? - + var eventMonitor:Any! + #if os(macOS) deinit { NSEvent.removeMonitor(self) @@ -38,7 +39,7 @@ class AGEEventsObserver: NSObject { #if os(macOS) extension AGEEventsObserver { func listenCurrentWindow(inputEvents: NSEvent.EventTypeMask) { - NSEvent.addLocalMonitorForEvents(matching: inputEvents) { [weak self] (event) -> NSEvent? in + eventMonitor = NSEvent.addLocalMonitorForEvents(matching: inputEvents) { [weak self] (event) -> NSEvent? in guard let strongSelf = self, let currentWindowNumber = strongSelf.dataSource?.observerNeedWindowNumber(strongSelf), event.windowNumber == currentWindowNumber else {