(lambda ()
(cond
((display-style/no-screen-output? display-style)
+ (invalidate-all-drawings! screen)
(%trace "; (update-screen! <gtk-screen>) done: no-output\n")
'NO-OUTPUT)
((eq? (screen-visibility screen) 'OBSCURED)
(update-name screen)
+ (invalidate-all-drawings! screen)
(%trace "; (update-screen! <gtk-screen>) done: completely obscured\n")
'INVISIBLE)
(else
(%trace "; (update-screen! <gtk-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)