From eda5bc877f2d512a6916c749bf52b6c8ea276b32 Mon Sep 17 00:00:00 2001 From: Hans Dijkema Date: Mon, 20 Apr 2026 14:06:38 +0200 Subject: [PATCH] Finalizer --- racket-webview-qt.rkt | 32 +++----------------------------- 1 file changed, 3 insertions(+), 29 deletions(-) diff --git a/racket-webview-qt.rkt b/racket-webview-qt.rkt index cf792fb..743974f 100644 --- a/racket-webview-qt.rkt +++ b/racket-webview-qt.rkt @@ -852,31 +852,6 @@ (define (rkt-webview-finalizer rkt-wv-store) (rkt_webview_exit_done (if (eq? webview-exit-done #f) 0 1))) -#| -(define (rkt-webview-finalizer rkt-wv-store close-windows message) - (unless finalizer-executed - (dbg-webview "rkt-webview-finalizer active") - (when close-windows - (let ((open-windows (hash->list rkt-wv-store))) - (for-each (λ (kv) - (let ((win (car kv)) - (handle (cdr kv))) - (rkt-webview-close handle))) - open-windows))) - (dbg-webview "Clearing event callback function in C libary") - (rkt_webview_register_evt_callback #f) - (dbg-webview "Sending guard-stop message to event callback") - (event-callback evt-guard-stop) - (dbg-webview "Cleaning up FFI library") - (rkt_webview_cleanup) - (unless (eq? message #f) (error message)) - (dbg-webview "Stopping event processing thread (kill-thread)") - (stop-event-processing) - (dbg-webview "Finalizer done") - (set! finalizer-executed #t) - ) - ) -|# (define (rkt-webview-exit . args) (let ((close-windows (if (null? args) #t (car args))) @@ -921,6 +896,9 @@ ; Maybe get in error state (unless (eq? message #f) (error message)) + + ; Exit done + (set! webview-exit-done #t) ) ) @@ -939,10 +917,6 @@ (define custodian-finalizer (register-custodian-shutdown rkt-wv-store rkt-webview-finalizer #:at-exit? #t)) -; (λ (rkt-wv-store) -; (rkt-webview-finalizer rkt-wv-store #t #f)) -; #:at-exit? #t) -; )