editor: clear input buffer when getting screen size

- not clearing the keyboard buffer could lead to wrong
  results when reading the screen size from terminal
This commit is contained in:
slederer 2024-10-20 17:28:19 +02:00
parent df46223d88
commit 1ca6c13c4b

View file

@ -135,7 +135,11 @@ begin
end; end;
procedure getScreenSize; procedure getScreenSize;
var c:char;
begin begin
(* empty keyboard buffer *)
while conavail do read(con, c);
GetTermSize(screenW, screenH); GetTermSize(screenW, screenH);
pageSize := screenH - vMargins; pageSize := screenH - vMargins;
(* set scrolling region - DECSTBM *) (* set scrolling region - DECSTBM *)
@ -2463,6 +2467,8 @@ begin
close(infile); close(infile);
end; end;
open(con, '%RAW', ModeOverwrite);
initScreen; initScreen;
showScreen; showScreen;
@ -2471,7 +2477,6 @@ begin
else else
statusMsg('Successfully read file. Press F1 for help', false, false); statusMsg('Successfully read file. Press F1 for help', false, false);
open(con, '%RAW', ModeOverwrite);
if errorLine > 0 then if errorLine > 0 then
begin begin