From e2247fe0a5edd04ee5eb75895404618ebc43720b Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Tue, 20 Aug 2013 16:42:59 -0600 Subject: [PATCH] mrlib/terminal: fix eventspace handling in non-frame mode --- pkgs/gui-pkgs/gui-lib/mrlib/terminal.rkt | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/pkgs/gui-pkgs/gui-lib/mrlib/terminal.rkt b/pkgs/gui-pkgs/gui-lib/mrlib/terminal.rkt index c1f8905d3d..7872135c66 100644 --- a/pkgs/gui-pkgs/gui-lib/mrlib/terminal.rkt +++ b/pkgs/gui-pkgs/gui-lib/mrlib/terminal.rkt @@ -44,7 +44,9 @@ #:close-button? [close-button? #t]) (define orig-eventspace (current-eventspace)) (define orig-custodian (current-custodian)) - (define inst-eventspace (make-eventspace)) + (define inst-eventspace (if container + (send (send container get-top-level-window) get-eventspace) + (make-eventspace))) (define on-terminal-run-proc (on-terminal-run)) @@ -155,7 +157,9 @@ (when frame (send frame show #t))))) - (semaphore-wait setup-sema) + (if (equal? inst-eventspace (current-eventspace)) + (yield setup-sema) + (semaphore-wait setup-sema)) (define (mk-port style) (make-output-port