From 93a64e3ebfa3231fd7d05f47bfaa4e731e279e4f Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Wed, 29 Dec 2010 07:45:49 -0700 Subject: [PATCH] fix frame registration on `show' when `current-eventspace' is weird (i.e., not the frame's eventspace) Closes PR 11573 original commit: ffd4193e32317f730b9dd064aa00df2ebc1cb75b --- collects/mred/private/wx/cocoa/window.rkt | 5 +++-- collects/mred/private/wx/common/queue.rkt | 6 +++--- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/collects/mred/private/wx/cocoa/window.rkt b/collects/mred/private/wx/cocoa/window.rkt index d385d961..c6b8d125 100644 --- a/collects/mred/private/wx/cocoa/window.rkt +++ b/collects/mred/private/wx/cocoa/window.rkt @@ -122,8 +122,9 @@ ;; Make sure we're in the right eventspace: (let ([wx (->wx wxb)]) (and wx - (eq? (current-eventspace) - (send wx get-eventspace)))) + (eq? (current-thread) + (eventspace-handler-thread + (send wx get-eventspace))))) ;; Right event space, so handle the event: (do-mouse-event wxb event 'motion #f #f #f))] [-a _void (mouseEntered: [_id event]) diff --git a/collects/mred/private/wx/common/queue.rkt b/collects/mred/private/wx/common/queue.rkt index 11e1672f..dd3372a2 100644 --- a/collects/mred/private/wx/common/queue.rkt +++ b/collects/mred/private/wx/common/queue.rkt @@ -453,9 +453,9 @@ (queue-event es cb 'timer-remove))) (define (register-frame-shown f on?) - (queue-event (current-eventspace) f (if on? - 'frame-add - 'frame-remove))) + (queue-event (send f get-eventspace) f (if on? + 'frame-add + 'frame-remove))) (define (get-top-level-windows [e (current-eventspace)]) ;; called in event-pump thread