[Ttssh2-commit] [4377] Term size = win size がオフの時は、Auto scroll only in bottom line が無効になるようにした。

svnno****@sourc***** svnno****@sourc*****
2011年 3月 8日 (火) 19:09:06 JST


Revision: 4377
          http://sourceforge.jp/projects/ttssh2/svn/view?view=rev&revision=4377
Author:   doda
Date:     2011-03-08 19:09:06 +0900 (Tue, 08 Mar 2011)

Log Message:
-----------
Term size = win size がオフの時は、Auto scroll only in bottom line が無効になるようにした。
http://sourceforge.jp/ticket/browse.php?group_id=1412&tid=24493
# 暫定。動作がちゃんと定義できるならば対応したいところだけれど、イメージがわかない。

Modified Paths:
--------------
    trunk/teraterm/teraterm/buffer.c
    trunk/teraterm/teraterm/vtdisp.c
    trunk/teraterm/teraterm/vtwin.cpp


-------------- next part --------------
Modified: trunk/teraterm/teraterm/buffer.c
===================================================================
--- trunk/teraterm/teraterm/buffer.c	2011-03-08 04:47:31 UTC (rev 4376)
+++ trunk/teraterm/teraterm/buffer.c	2011-03-08 10:09:06 UTC (rev 4377)
@@ -1766,7 +1766,7 @@
 	Wrap = FALSE;
 
 	/* Å‰ºs‚Å‚¾‚¯Ž©“®ƒXƒNƒ[ƒ‹‚·‚é*/
-	if (ts.AutoScrollOnlyInBottomLine == 0 || WinOrgY == 0) {
+	if (!(ts.AutoScrollOnlyInBottomLine && ts.TermIsWin) || WinOrgY == 0) {
 		DispScrollToCursor(CursorX, CursorY);
 	}
 }
@@ -1777,7 +1777,7 @@
 {
 	CursorX++;
 	/* Å‰ºs‚Å‚¾‚¯Ž©“®ƒXƒNƒ[ƒ‹‚·‚é */
-	if (ts.AutoScrollOnlyInBottomLine == 0 || WinOrgY == 0) {
+	if (!(ts.AutoScrollOnlyInBottomLine && ts.TermIsWin) || WinOrgY == 0) {
 		DispScrollToCursor(CursorX, CursorY);
 	}
 }
@@ -1832,7 +1832,7 @@
 	if ((CursorTop == 0) && (CursorBottom == NumOfLines-1)) {
 		WinOrgY = WinOrgY-n;
 		/* Å‰ºs‚Å‚¾‚¯Ž©“®ƒXƒNƒ[ƒ‹‚·‚é */
-		if (ts.AutoScrollOnlyInBottomLine != 0 && NewOrgY != 0) {
+		if (ts.AutoScrollOnlyInBottomLine && ts.TermIsWin && NewOrgY != 0) {
 			NewOrgY = WinOrgY;
 		}
 		BuffScroll(n,CursorBottom);
@@ -1840,7 +1840,7 @@
 	}
 	else if ((CursorTop==0) && (CursorY<=CursorBottom)) {
 		/* Å‰ºs‚Å‚¾‚¯Ž©“®ƒXƒNƒ[ƒ‹‚·‚é */
-		if (ts.AutoScrollOnlyInBottomLine != 0 && NewOrgY != 0) {
+		if (ts.AutoScrollOnlyInBottomLine && ts.TermIsWin && NewOrgY != 0) {
 			/* ƒXƒNƒ[ƒ‹‚³‚¹‚È‚¢ê‡‚̏ˆ— */
 			WinOrgY = WinOrgY-n;
 			NewOrgY = WinOrgY;

Modified: trunk/teraterm/teraterm/vtdisp.c
===================================================================
--- trunk/teraterm/teraterm/vtdisp.c	2011-03-08 04:47:31 UTC (rev 4376)
+++ trunk/teraterm/teraterm/vtdisp.c	2011-03-08 10:09:06 UTC (rev 4377)
@@ -3144,7 +3144,7 @@
 
   /* Å‰ºs‚Å‚¾‚¯Ž©“®ƒXƒNƒ[ƒ‹‚·‚éÝ’è‚̏ꍇ
      NewOrgY‚ª•Ï‰»‚µ‚Ä‚¢‚È‚­‚Ä‚àƒoƒbƒtƒ@s”‚ª•Ï‰»‚·‚é‚̂ōXV‚·‚é */
-  if (ts.AutoScrollOnlyInBottomLine != 0)
+  if (ts.AutoScrollOnlyInBottomLine && ts.TermIsWin)
   {
     if ((BuffEnd==WinHeight) &&
         (ts.EnableScrollBuff>0))
@@ -3188,7 +3188,7 @@
   if (NewOrgX!=WinOrgX)
     SetScrollPos(HVTWin,SB_HORZ,NewOrgX,TRUE);
 
-  if (ts.AutoScrollOnlyInBottomLine == 0 && NewOrgY!=WinOrgY)
+  if (!(ts.AutoScrollOnlyInBottomLine && ts.TermIsWin) && NewOrgY!=WinOrgY)
   {
     if ((BuffEnd==WinHeight) &&
         (ts.EnableScrollBuff>0))

Modified: trunk/teraterm/teraterm/vtwin.cpp
===================================================================
--- trunk/teraterm/teraterm/vtwin.cpp	2011-03-08 04:47:31 UTC (rev 4376)
+++ trunk/teraterm/teraterm/vtwin.cpp	2011-03-08 10:09:06 UTC (rev 4377)
@@ -787,7 +787,7 @@
 			CBStartPaste(HVTWin, FALSE, BracketedPasteMode(), 0, NULL, 0);
 			/* Å‰ºs‚Å‚¾‚¯Ž©“®ƒXƒNƒ[ƒ‹‚·‚éÝ’è‚̏ꍇ
 			   ƒy[ƒXƒgˆ—‚ŃXƒNƒ[ƒ‹‚³‚¹‚é */
-			if (ts.AutoScrollOnlyInBottomLine != 0 && WinOrgY != 0) {
+			if (ts.AutoScrollOnlyInBottomLine && ts.TermIsWin && WinOrgY != 0) {
 				DispVScroll(SCROLL_BOTTOM, 0);
 			}
 		}
@@ -797,7 +797,7 @@
 			CBStartPaste(HVTWin, FALSE, BracketedPasteMode(), 0, NULL, 0);
 			/* Å‰ºs‚Å‚¾‚¯Ž©“®ƒXƒNƒ[ƒ‹‚·‚éÝ’è‚̏ꍇ
 			   ƒy[ƒXƒgˆ—‚ŃXƒNƒ[ƒ‹‚³‚¹‚é */
-			if (ts.AutoScrollOnlyInBottomLine != 0 && WinOrgY != 0) {
+			if (ts.AutoScrollOnlyInBottomLine && ts.TermIsWin && WinOrgY != 0) {
 				DispVScroll(SCROLL_BOTTOM, 0);
 			}
 		}
@@ -1707,7 +1707,7 @@
 
 	/* Å‰ºs‚Å‚¾‚¯Ž©“®ƒXƒNƒ[ƒ‹‚·‚éÝ’è‚̏ꍇ
 	   ƒŠƒ‚[ƒg‚ւ̃L[“ü—Í‘—M‚ŃXƒNƒ[ƒ‹‚³‚¹‚é */
-	if (ts.AutoScrollOnlyInBottomLine != 0 && WinOrgY != 0) {
+	if (ts.AutoScrollOnlyInBottomLine && ts.TermIsWin && WinOrgY != 0) {
 		DispVScroll(SCROLL_BOTTOM, 0);
 	}
 }
@@ -2004,7 +2004,7 @@
 	case KEYDOWN_COMMOUT:
 		/* Å‰ºs‚Å‚¾‚¯Ž©“®ƒXƒNƒ[ƒ‹‚·‚éÝ’è‚̏ꍇ
 		   ƒŠƒ‚[ƒg‚ւ̃L[“ü—Í‘—M‚ŃXƒNƒ[ƒ‹‚³‚¹‚é */
-		if (ts.AutoScrollOnlyInBottomLine != 0 && WinOrgY != 0) {
+		if (ts.AutoScrollOnlyInBottomLine && ts.TermIsWin && WinOrgY != 0) {
 			DispVScroll(SCROLL_BOTTOM, 0);
 		}
 		return;
@@ -3975,7 +3975,7 @@
 		CBStartPaste(HVTWin, FALSE, BracketedPasteMode(), 0, NULL, 0);
 		/* Å‰ºs‚Å‚¾‚¯Ž©“®ƒXƒNƒ[ƒ‹‚·‚éÝ’è‚̏ꍇ
 		   ƒy[ƒXƒgˆ—‚ŃXƒNƒ[ƒ‹‚³‚¹‚é */
-		if (ts.AutoScrollOnlyInBottomLine != 0 && WinOrgY != 0) {
+		if (ts.AutoScrollOnlyInBottomLine && ts.TermIsWin && WinOrgY != 0) {
 			DispVScroll(SCROLL_BOTTOM, 0);
 		}
 	}
@@ -3988,7 +3988,7 @@
 		CBStartPaste(HVTWin, TRUE, BracketedPasteMode(), 0, NULL, 0);
 		/* Å‰ºs‚Å‚¾‚¯Ž©“®ƒXƒNƒ[ƒ‹‚·‚éÝ’è‚̏ꍇ
 		   ƒy[ƒXƒgˆ—‚ŃXƒNƒ[ƒ‹‚³‚¹‚é */
-		if (ts.AutoScrollOnlyInBottomLine != 0 && WinOrgY != 0) {
+		if (ts.AutoScrollOnlyInBottomLine && ts.TermIsWin && WinOrgY != 0) {
 			DispVScroll(SCROLL_BOTTOM, 0);
 		}
 	}



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