[Ttssh2-commit] [5589] ・デバッグモードで文字を出力した後に IRM がリセット、DECAWM がセットされた状態になるのを修正。

Back to archive index

svnno****@sourc***** svnno****@sourc*****
2014年 5月 19日 (月) 17:03:13 JST


Revision: 5589
          http://sourceforge.jp/projects/ttssh2/scm/svn/commits/5589
Author:   doda
Date:     2014-05-19 17:03:12 +0900 (Mon, 19 May 2014)
Log Message:
-----------
・デバッグモードで文字を出力した後に IRM がリセット、DECAWM がセットされた状態になるのを修正。
・デバッグモードで文字を出力する前に、高輝度, 下線, 点滅, 反転属性をクリアするようにした。
・デバッグモードから抜けた時に、高輝度, 下線, 点滅, 反転属性の状態を復元するようにした。

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

-------------- next part --------------
Modified: trunk/teraterm/teraterm/vtterm.c
===================================================================
--- trunk/teraterm/teraterm/vtterm.c	2014-05-19 05:19:51 UTC (rev 5588)
+++ trunk/teraterm/teraterm/vtterm.c	2014-05-19 08:03:12 UTC (rev 5589)
@@ -767,16 +767,26 @@
 void PutDebugChar(BYTE b)
 {
 	static BYTE buff[3];
-	int i = 0;
+	int i;
+	BOOL svInsertMode, svAutoWrapMode;
+	BYTE svCharAttr;
 
-	if (DebugFlag!=DEBUG_FLAG_NONE) {
+	if (DebugFlag!=DEBUG_FLAG_NOUT) {
+		svInsertMode = InsertMode;
+		svAutoWrapMode = AutoWrapMode;
 		InsertMode = FALSE;
 		AutoWrapMode = TRUE;
 
+		svCharAttr = CharAttr.Attr;
+		if (CharAttr.Attr != AttrDefault) {
+			UpdateStr();
+			CharAttr.Attr = AttrDefault;
+		}
+
 		if (DebugFlag==DEBUG_FLAG_HEXD) {
 			_snprintf(buff, 3, "%02X", (unsigned int) b);
 
-			for ( ; i<2; i++)
+			for (i=0; i<2; i++)
 				PutChar(buff[i]);
 			PutChar(' ');
 		}
@@ -803,10 +813,12 @@
 				PutChar(b);
 		}
 
-		if (CharAttr.Attr != AttrDefault) {
+		if (CharAttr.Attr != svCharAttr) {
 			UpdateStr();
-			CharAttr.Attr = AttrDefault;
+			CharAttr.Attr = svCharAttr;
 		}
+		InsertMode = svInsertMode;
+		AutoWrapMode = svAutoWrapMode;
 	}
 }
 



Ttssh2-commit メーリングリストの案内
Back to archive index