[Ttssh2-commit] [9042] struct tttset の互換性を保つように調整した

Back to archive index
scmno****@osdn***** scmno****@osdn*****
2020年 12月 2日 (水) 23:54:59 JST


Revision: 9042
          https://osdn.net/projects/ttssh2/scm/svn/commits/9042
Author:   zmatsuo
Date:     2020-12-02 23:54:59 +0900 (Wed, 02 Dec 2020)
Log Message:
-----------
struct tttset の互換性を保つように調整した

- r8106 で struct tttset の構造が変化した
  - 4.104(r8043) 以前のプラグインは 4.105(r8433) 以降でうまく動かなくなっていた
  - この修正で 4.105 向けにビルドされたプラグインはうまく動かなくなる
- eterm_lookfeel_t.BGIgnoreThemeFile を struct tttset へ移動 (tttypes.h)
  - このメンバーを参照しているソースも修正
- debugビルド時、struct tttset のサイズをチェックするようにした (teraterm.cpp)

ticket #40978

Revision Links:
--------------
    https://osdn.net/projects/ttssh2/scm/svn/commits/8106
    https://osdn.net/projects/ttssh2/scm/svn/commits/8043
    https://osdn.net/projects/ttssh2/scm/svn/commits/8433

Ticket Links:
------------
    https://osdn.net/projects/ttssh2/tracker/detail/40978

Modified Paths:
--------------
    branches/40978/teraterm/common/tttypes.h
    branches/40978/teraterm/teraterm/addsetting.cpp
    branches/40978/teraterm/teraterm/teraterm.cpp
    branches/40978/teraterm/teraterm/vtdisp.c
    branches/40978/teraterm/ttpset/ttset.c

-------------- next part --------------
Modified: branches/40978/teraterm/common/tttypes.h
===================================================================
--- branches/40978/teraterm/common/tttypes.h	2020-12-02 14:50:57 UTC (rev 9041)
+++ branches/40978/teraterm/common/tttypes.h	2020-12-02 14:54:59 UTC (rev 9042)
@@ -406,7 +406,7 @@
 	int BGNoCopyBits;
 	int BGNoFrame;
 	char BGThemeFile[MAX_PATH];
-	int BGIgnoreThemeFile;
+	// int BGIgnoreThemeFile;	// tttset \x82Ɉړ\xAE
 } eterm_lookfeel_t;
 
 typedef struct cygterm {
@@ -709,6 +709,7 @@
 	int ConfigVersion;
 	int RunningVersion;
 	DWORD SelectStartDelay;
+	int EtermLookfeel_BGIgnoreThemeFile;	// eterm_lookfeel_t \x82̃\x81\x83\x93\x83o\x81[\x82\xBE\x82\xC1\x82\xBD
 };
 
 typedef struct tttset TTTSet, *PTTSet;

Modified: branches/40978/teraterm/teraterm/addsetting.cpp
===================================================================
--- branches/40978/teraterm/teraterm/addsetting.cpp	2020-12-02 14:50:57 UTC (rev 9041)
+++ branches/40978/teraterm/teraterm/addsetting.cpp	2020-12-02 14:54:59 UTC (rev 9042)
@@ -723,7 +723,7 @@
 		SetCheck(IDC_BGIMG_CHECK, BST_UNCHECKED);
 	}
 	// \x83e\x81[\x83}\x83t\x83@\x83C\x83\x8B\x82𖳎\x8B\x82\xB7\x82\xE9\x8Fꍇ\x82͕ǎ\x86\x82ƍ\xAC\x8D\x87\x82\xB5\x82Ȃ\xA2\x81B
-	if (ts.EtermLookfeel.BGIgnoreThemeFile) {
+	if (ts.EtermLookfeel_BGIgnoreThemeFile) {
 		SetCheck(IDC_MIXED_THEME_FILE, BST_UNCHECKED);
 	} else {
 		SetCheck(IDC_MIXED_THEME_FILE, BST_CHECKED);
@@ -1164,10 +1164,10 @@
 		}
 		if (GetCheck(IDC_MIXED_THEME_FILE)) {
 			// \x95ǎ\x86\x82ƍ\xAC\x8D\x87\x82̏ꍇ\x81A\x83f\x83t\x83H\x83\x8B\x83g\x82ɖ߂\xB5\x82Ă\xA8\x82\xAD\x81B
-			ts.EtermLookfeel.BGIgnoreThemeFile = FALSE;
+			ts.EtermLookfeel_BGIgnoreThemeFile = FALSE;
 		} else {
 			// \x83e\x81[\x83}\x83t\x83@\x83C\x83\x8B\x82𖳎\x8B\x82\xB7\x82\xE9\x81B
-			ts.EtermLookfeel.BGIgnoreThemeFile = TRUE;
+			ts.EtermLookfeel_BGIgnoreThemeFile = TRUE;
 		}
 
 	} else {

Modified: branches/40978/teraterm/teraterm/teraterm.cpp
===================================================================
--- branches/40978/teraterm/teraterm/teraterm.cpp	2020-12-02 14:50:57 UTC (rev 9041)
+++ branches/40978/teraterm/teraterm/teraterm.cpp	2020-12-02 14:54:59 UTC (rev 9042)
@@ -315,7 +315,21 @@
 	(void)nCmdShow;
 #ifdef _DEBUG
 	_CrtSetDbgFlag(_CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF);
-#endif
+#ifdef _M_IX86
+	{
+		// TTTSet(struct tttset)\x82ɐV\x82\xB5\x82\xA2\x83\x81\x83\x93\x83o\x81[\x82\xF0\x92lj\xC1\x82\xB7\x82\xE9\x82Ƃ\xAB\x82͌\xE3\x82\xEB\x82ɒlj\xC1\x82\xB7\x82\xE9
+		//		TTTSet\x82\xF0\x8EQ\x8FƂ\xB7\x82\xE9\x83v\x83\x89\x83O\x83C\x83\x93\x82Ƃ̌݊\xB7\x90\xAB\x82\xF0\x95ۂ‚\xBD\x82\xDF
+		const size_t ts_offset_dialogfont_r8106 = 10176;
+		const size_t ts_size_r9033 = 10196;
+		size_t ts_size = sizeof(ts);
+		size_t ts_offset_dialogfont = offsetof(ts, DialogFontCharSet);
+		if (ts_size != ts_size_r9033 || ts_offset_dialogfont != ts_offset_dialogfont_r8106) {
+			MessageBoxA(NULL, "Check struct tttset size", "Tera Term", MB_OK | MB_ICONERROR);
+			return 0;
+		}
+	}
+#endif // _M_IX86
+#endif // _DEBUG
 	init();
 	GetHtmlHelpAdr();
 	if (pHtmlHelp != NULL) {

Modified: branches/40978/teraterm/teraterm/vtdisp.c
===================================================================
--- branches/40978/teraterm/teraterm/vtdisp.c	2020-12-02 14:50:57 UTC (rev 9041)
+++ branches/40978/teraterm/teraterm/vtdisp.c	2020-12-02 14:54:59 UTC (rev 9042)
@@ -1554,7 +1554,7 @@
   // Tera Term\x82̋N\x93\xAE\x8E\x9E\x82݂̂ɏ\x89\x8A\x{227B0B7}\x82\xE9\x81B
   if (initialize_once) {
 	  // Tera Term\x8BN\x93\xAE\x8E\x9E\x82Ɉ\xEA\x93x\x82\xBE\x82\xAF\x93ǂށB
-	  ts.EtermLookfeel.BGIgnoreThemeFile = BGGetOnOff("BGIgnoreThemeFile", FALSE ,ts.SetupFName);
+	  ts.EtermLookfeel_BGIgnoreThemeFile = BGGetOnOff("BGIgnoreThemeFile", FALSE ,ts.SetupFName);
   }
 
   if(!BGEnable)
@@ -1615,7 +1615,7 @@
   // ImageFile.INI\x82ł͂Ȃ\xA2\x8Fꍇ\x82̓\x89\x83\x93\x83_\x83\x80\x82ɑI\x82ԁB
   if (strstr(path, BG_THEME_IMAGEFILE_NAME) == NULL) {
 	  // \x83e\x81[\x83}\x83t\x83@\x83C\x83\x8B\x82𖳎\x8B\x82\xB7\x82\xE9\x8Fꍇ\x82͋\xF3\x82ɂ\xB7\x82\xE9\x81B
-	  if (ts.EtermLookfeel.BGIgnoreThemeFile) {
+	  if (ts.EtermLookfeel_BGIgnoreThemeFile) {
 		ZeroMemory(config_file, sizeof(config_file));
 	  }
   }

Modified: branches/40978/teraterm/ttpset/ttset.c
===================================================================
--- branches/40978/teraterm/ttpset/ttset.c	2020-12-02 14:50:57 UTC (rev 9041)
+++ branches/40978/teraterm/ttpset/ttset.c	2020-12-02 14:54:59 UTC (rev 9042)
@@ -3174,7 +3174,7 @@
 	WriteInt(BG_SECTION, BG_THEME_IMAGE_BRIGHTNESS1, Temp, ts->BGImgBrightness);
 	WriteInt(BG_SECTION, BG_THEME_IMAGE_BRIGHTNESS2, Temp, ts->BGImgBrightness);
 	WriteOnOff(ETERM_SECTION, "BGIgnoreThemeFile", FName,
-		ts->EtermLookfeel.BGIgnoreThemeFile);
+		ts->EtermLookfeel_BGIgnoreThemeFile);
 
 #ifdef USE_NORMAL_BGCOLOR
 	// UseNormalBGColor


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