fix: guards on resize handler and render loop, O_RDONLY for /dev/tty
This commit is contained in:
@@ -967,7 +967,12 @@ Event handlers + daemon I/O + main loop.
|
|||||||
(when cl-tty.input::*terminal-resized-p*
|
(when cl-tty.input::*terminal-resized-p*
|
||||||
(setf cl-tty.input::*terminal-resized-p* nil)
|
(setf cl-tty.input::*terminal-resized-p* nil)
|
||||||
(multiple-value-setq (w h) (cl-tty.backend:backend-size be))
|
(multiple-value-setq (w h) (cl-tty.backend:backend-size be))
|
||||||
|
(setq w (or (and (numberp w) (> w 0) w) 80)
|
||||||
|
h (or (and (numberp h) (> h 0) h) 24))
|
||||||
(setf (st :dirty) (list t t t))))
|
(setf (st :dirty) (list t t t))))
|
||||||
|
;; Guard w and h before render (resize or other code may have set them to nil)
|
||||||
|
(setq w (or (and (numberp w) (> w 0) w) 80)
|
||||||
|
h (or (and (numberp h) (> h 0) h) 24))
|
||||||
(when (or (first (st :dirty)) (second (st :dirty)) (third (st :dirty)))
|
(when (or (first (st :dirty)) (second (st :dirty)) (third (st :dirty)))
|
||||||
(cl-tty.backend:backend-clear be)
|
(cl-tty.backend:backend-clear be)
|
||||||
(view-status be w h)
|
(view-status be w h)
|
||||||
|
|||||||
Reference in New Issue
Block a user