Fix interrupt hole in updating of screen size.
authorChris Hanson <org/chris-hanson/cph>
Thu, 26 Sep 1996 23:20:08 +0000 (23:20 +0000)
committerChris Hanson <org/chris-hanson/cph>
Thu, 26 Sep 1996 23:20:08 +0000 (23:20 +0000)
v7/src/edwin/os2term.scm

index 0411806e175f117cb2ed7b4207c4cea06d8f3d6c..7cd0e5ae4da396e8d6a496a2c824611e0e6327a2 100644 (file)
@@ -1,6 +1,6 @@
 ;;; -*-Scheme-*-
 ;;;
-;;;    $Id: os2term.scm,v 1.17 1996/05/14 05:42:46 cph Exp $
+;;;    $Id: os2term.scm,v 1.18 1996/09/26 23:20:08 cph Exp $
 ;;;
 ;;;    Copyright (c) 1994-96 Massachusetts Institute of Technology
 ;;;
                     (= y-size (screen-y-size screen))))
           (lambda ()
             (let ((size (fix:* x-size y-size)))
-              (set-screen-char-map! screen (make-string size #\space))
-              (set-screen-face-map!
-               screen
-               (make-vector size (screen-current-face screen))))
-            (set-screen-size! screen x-size y-size))))))
+              (let ((char-map (make-string size #\space))
+                    (face-map
+                     (make-vector size (screen-current-face screen))))
+                (without-interrupts
+                 (lambda ()
+                   (set-screen-char-map! screen char-map)
+                   (set-screen-face-map! screen face-map)
+                   (set-screen-size! screen x-size y-size))))))))))
 
 (define-event-handler event-type:visibility
   (lambda (screen event)