[Ttssh2-commit] [3797] Alternate screen buffer 切り替え時のカーソル位置保存の不具合を修正。

svnno****@sourc***** svnno****@sourc*****
2010年 2月 25日 (木) 18:30:57 JST


Revision: 3797
          http://sourceforge.jp/projects/ttssh2/svn/view?view=rev&revision=3797
Author:   doda
Date:     2010-02-25 18:30:57 +0900 (Thu, 25 Feb 2010)

Log Message:
-----------
Alternate screen buffer 切り替え時のカーソル位置保存の不具合を修正。
Normal screen と Alternate screen でカーソル位置の保存を別に管理する必要があった。

Modified Paths:
--------------
    trunk/teraterm/teraterm/vtterm.c


-------------- next part --------------
Modified: trunk/teraterm/teraterm/vtterm.c
===================================================================
--- trunk/teraterm/teraterm/vtterm.c	2010-02-23 10:30:54 UTC (rev 3796)
+++ trunk/teraterm/teraterm/vtterm.c	2010-02-25 09:30:57 UTC (rev 3797)
@@ -67,7 +67,7 @@
 typedef TStatusBuff *PStatusBuff;
 
 // status buffer for main screen & status line
-static TStatusBuff SBuff1, SBuff2;
+static TStatusBuff SBuff1, SBuff2, SBuff3;
 
 static BOOL ESCFlag, JustAfterESC;
 static BOOL KanjiIn;
@@ -151,6 +151,7 @@
   SBuff1.RelativeOrgMode = FALSE;
   // copy SBuff1 to SBuff2
   SBuff2 = SBuff1;
+  SBuff3 = SBuff1;
 }
 
 void ResetTerminal() /*reset variables but don't update screen */
@@ -875,6 +876,8 @@
   if ((StatusLine>0) &&
       (CursorY==NumOfLines-1))
     Buff = &SBuff2; // for status line
+  else if (AltScr) 
+    Buff = &SBuff3; // for alternate screen
   else
     Buff = &SBuff1; // for main screen
 
@@ -898,6 +901,8 @@
   if ((StatusLine>0) &&
       (CursorY==NumOfLines-1))
     Buff = &SBuff2; // for status line
+  else if (AltScr) 
+    Buff = &SBuff3; // for alternate screen
   else
     Buff = &SBuff1; // for main screen
 



Ttssh2-commit メーリングリストの案内