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:
parent
df46223d88
commit
1ca6c13c4b
1 changed files with 6 additions and 1 deletions
|
|
@ -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
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue