From a4c2ef824c8829023a366a7f0904ecee86eb0bf6 Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Tue, 28 Jan 2003 15:33:33 +0000 Subject: [PATCH] . original commit: cd0b455f0c081298d17fc1b770baf4708f9a4fb7 --- collects/mred/mred.ss | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/collects/mred/mred.ss b/collects/mred/mred.ss index 880c2ade..1ac9dc8e 100644 --- a/collects/mred/mred.ss +++ b/collects/mred/mred.ss @@ -1347,15 +1347,21 @@ (define (app-handler-orig ah) (app-handler-ref ah 1)) -(let ([f (entry-point - (lambda () - (let ([af active-main-frame]) - (when af - (queue-window-callback - af - (entry-point - (lambda () - (send af on-exit))))))))]) +(let* ([running-quit? #f] + [f (entry-point + (lambda () + (unless running-quit? + (let ([af active-main-frame]) + (when af + (set! running-quit? #t) + (queue-window-callback + af + (entry-point + (lambda () + (dynamic-wind + void + (lambda () (send af on-exit)) + (lambda () (set! running-quit? #t)))))))))))]) (wx:application-quit-handler (make-app-handler f f))) (define (set-handler! who proc param)