From 11045a0384b2b6f185cd98aec59e27b96b68c5f7 Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Thu, 13 Sep 2012 13:52:42 -0600 Subject: [PATCH] improve editor-canvas resizing A recent bug fix involved moving part of an `editor-canvas%' resize out of atomic mode by queueing a callback (because the resize involves quesrying the editor for its size, etc.), but then the callback happens after a canvas is shown, which can cause it to appear with bogus initial scrollbars. Queue the callback instead as a "refresh" level callback, which gets a chance to run before a frame is made visible. --- collects/mred/private/kernel.rkt | 1 + collects/mred/private/wxme/editor-canvas.rkt | 6 +++--- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/collects/mred/private/kernel.rkt b/collects/mred/private/kernel.rkt index ccd9ea7c7f..86253c40da 100644 --- a/collects/mred/private/kernel.rkt +++ b/collects/mred/private/kernel.rkt @@ -30,6 +30,7 @@ eventspace-handler-thread eventspace-event-evt queue-callback + queue-refresh-event middle-queue-key get-top-level-windows begin-busy-cursor diff --git a/collects/mred/private/wxme/editor-canvas.rkt b/collects/mred/private/wxme/editor-canvas.rkt index 1c3778456d..2aec2ad284 100644 --- a/collects/mred/private/wxme/editor-canvas.rkt +++ b/collects/mred/private/wxme/editor-canvas.rkt @@ -8,7 +8,7 @@ racket/snip/private/prefs racket/snip/private/private (only-in "cycle.rkt" popup-menu%) - (only-in "../helper.rkt" queue-window-callback) + (only-in "../kernel.rkt" queue-refresh-event) "wx.rkt") (provide editor-canvas%) @@ -292,8 +292,8 @@ (define/override (on-size) (unless noloop? - (queue-window-callback - this + (queue-refresh-event + (get-eventspace) (lambda () (unless (and media (send media get-printing))