From: Matt Birkholz Date: Wed, 14 Sep 2011 20:34:02 +0000 (-0700) Subject: Invalidate drawings when not updated per change regions. X-Git-Tag: mit-scheme-pucked-9.2.12~366^2~105 X-Git-Url: https://birchwood-abbey.net/git?a=commitdiff_plain;h=e70b330702992628f75bd6259162a1a82a1c5c56;p=mit-scheme.git Invalidate drawings when not updated per change regions. --- diff --git a/src/gtk-screen/gtk-screen.scm b/src/gtk-screen/gtk-screen.scm index 2fa9c2bd6..a9e374fd3 100644 --- a/src/gtk-screen/gtk-screen.scm +++ b/src/gtk-screen/gtk-screen.scm @@ -1351,10 +1351,12 @@ USA. (lambda () (cond ((display-style/no-screen-output? display-style) + (invalidate-all-drawings! screen) (%trace "; (update-screen! ) done: no-output\n") 'NO-OUTPUT) ((eq? (screen-visibility screen) 'OBSCURED) (update-name screen) + (invalidate-all-drawings! screen) (%trace "; (update-screen! ) done: completely obscured\n") 'INVISIBLE) (else @@ -1376,6 +1378,12 @@ USA. (%trace "; (update-screen! ) done: halted\n") #f))))))) +(define (invalidate-all-drawings! screen) + (%trace "; invalidated all drawings\n") + (for-each (lambda (entry) + (set-buffer-drawing-valid?! (cdr entry) #f)) + (gtk-screen-drawings screen))) + (define-integrable with-screen-in-update (named-lambda (with-screen-in-update screen thunk) (if (screen-in-update? screen)