瀏覽代碼

* changed the video unit initialization sequence, so that the startup cursor
position is preserved at exit (or when switching to the user screen in the
IDE), when running in xterm or compatible (gnome-terminal, konsole, etc.)

Nikolay Nikolov 3 年之前
父節點
當前提交
0d9298f01a
共有 1 個文件被更改,包括 2 次插入2 次删除
  1. 2 2
      packages/rtl-console/src/unix/video.pp

+ 2 - 2
packages/rtl-console/src/unix/video.pp

@@ -975,10 +975,10 @@ begin
      if Console<>ttylinux then
      if Console<>ttylinux then
       begin
       begin
    {$endif}
    {$endif}
+        SendEscapeSeqNdx(enter_ca_mode);
         SendEscapeSeqNdx(cursor_home);
         SendEscapeSeqNdx(cursor_home);
         SendEscapeSeqNdx(cursor_normal);
         SendEscapeSeqNdx(cursor_normal);
         SendEscapeSeqNdx(cursor_visible_underline);
         SendEscapeSeqNdx(cursor_visible_underline);
-        SendEscapeSeqNdx(enter_ca_mode);
         SetCursorType(crUnderLine);
         SetCursorType(crUnderLine);
         If Console=ttyFreeBSD Then
         If Console=ttyFreeBSD Then
           SendEscapeSeqNdx(exit_am_mode);
           SendEscapeSeqNdx(exit_am_mode);
@@ -1026,11 +1026,11 @@ begin
   else
   else
    begin
    begin
 {$endif}
 {$endif}
-     SendEscapeSeqNdx(exit_ca_mode);
      SendEscapeSeqNdx(cursor_home);
      SendEscapeSeqNdx(cursor_home);
      SendEscapeSeqNdx(cursor_normal);
      SendEscapeSeqNdx(cursor_normal);
      SendEscapeSeqNdx(cursor_visible_underline);
      SendEscapeSeqNdx(cursor_visible_underline);
      SendEscapeSeq(#27'[H');
      SendEscapeSeq(#27'[H');
+     SendEscapeSeqNdx(exit_ca_mode);
      if cur_term_strings=@term_codes_linux then
      if cur_term_strings=@term_codes_linux then
        begin
        begin
          {Executed in case ttylinux is false (i.e. no vcsa), but
          {Executed in case ttylinux is false (i.e. no vcsa), but