diff --git a/ClipCascade_Desktop/src/core/application.py b/ClipCascade_Desktop/src/core/application.py index 0424ca0d..1af76e6a 100644 --- a/ClipCascade_Desktop/src/core/application.py +++ b/ClipCascade_Desktop/src/core/application.py @@ -307,3 +307,8 @@ def run(self): fcntl.flock(self.lock_file, fcntl.LOCK_UN) self.lock_file.close() os.remove(self.mutex_identifier) + if PLATFORM == MACOS: + # pystray's NSApplication loop + the undestroyed tkinter interpreter + native daemon + # threads (websocket-client, pasteboard, aiortc) stall finalization; force exit instead. + logging.shutdown() + os._exit(0)