From 993981f6c06529e0cdf4df49d5ea47763ac4f0c8 Mon Sep 17 00:00:00 2001 From: AuroraWright Date: Sat, 14 Dec 2024 16:00:54 +0100 Subject: [PATCH] Handle eventual screencapturekit hangs --- owocr/run.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/owocr/run.py b/owocr/run.py index e407527..f2fbe0d 100644 --- a/owocr/run.py +++ b/owocr/run.py @@ -494,7 +494,7 @@ def signal_handler(sig, frame): def on_window_closed(alive): global terminated if not (alive or terminated): - logger.info('Window closed, terminated!') + logger.info('Window closed or error occurred, terminated!') terminated = True @@ -999,7 +999,10 @@ def run(read_from=None, cg_image = CGWindowListCreateImageFromArray(CGRectNull, [window_id], kCGWindowImageBoundsIgnoreFraming) else: capture_macos_window_screenshot(window_id) - cg_image = screencapturekit_queue.get() + try: + cg_image = screencapturekit_queue.get(timeout=0.5) + except queue.Empty: + cg_image = None if not cg_image: on_window_closed(False) break