diff --git a/collects/mred/private/wx/cocoa/canvas.rkt b/collects/mred/private/wx/cocoa/canvas.rkt index ba785fce..cedc2c82 100644 --- a/collects/mred/private/wx/cocoa/canvas.rkt +++ b/collects/mred/private/wx/cocoa/canvas.rkt @@ -223,6 +223,7 @@ (set! paint-queued #f) (when (or (not b) (is-shown-to-root?)) (send dc reset-backing-retained) ; start with a clean slate + (send dc ensure-ready) (let ([bg (get-canvas-background)]) (when bg (let ([old-bg (send dc get-background)]) diff --git a/collects/mred/private/wx/cocoa/window.rkt b/collects/mred/private/wx/cocoa/window.rkt index a7db02cd..36715256 100644 --- a/collects/mred/private/wx/cocoa/window.rkt +++ b/collects/mred/private/wx/cocoa/window.rkt @@ -562,8 +562,7 @@ ;; in atomic mode (when (unbox req) (set-box! req #f) - (tellv cocoa-win enableFlushWindow) - (tellv cocoa-win flushWindowIfNeeded)))) + (tellv cocoa-win enableFlushWindow)))) req))) (define (cancel-flush-delay req) @@ -572,10 +571,6 @@ (when cocoa-win (set-box! req #f) (tellv cocoa-win enableFlushWindow) - (add-event-boundary-sometimes-callback! - cocoa-win - (lambda (v) - (tellv cocoa-win flushWindowIfNeeded))) (remove-event-boundary-callback! req))))) (define (make-init-point x y) diff --git a/collects/mred/private/wx/common/backing-dc.rkt b/collects/mred/private/wx/common/backing-dc.rkt index 7e7a5dac..b711207e 100644 --- a/collects/mred/private/wx/common/backing-dc.rkt +++ b/collects/mred/private/wx/common/backing-dc.rkt @@ -90,6 +90,8 @@ (define/public (get-bitmap%) bitmap%) + (define/public (ensure-ready) (get-cr)) + (define/override (get-cr) (or retained-cr (let ([w (box 0)] diff --git a/collects/mred/private/wx/gtk/canvas.rkt b/collects/mred/private/wx/gtk/canvas.rkt index 6e11e437..1e40e7c0 100644 --- a/collects/mred/private/wx/gtk/canvas.rkt +++ b/collects/mred/private/wx/gtk/canvas.rkt @@ -347,6 +347,7 @@ (set! paint-queued? #f) (set! now-drawing? #t) (send dc reset-backing-retained) ; clean slate + (send dc ensure-ready) (let ([bg (get-canvas-background)]) (when bg (let ([old-bg (send dc get-background)])