Revision: 9109 https://osdn.net/projects/ttssh2/scm/svn/commits/9109 Author: zmatsuo Date: 2020-12-21 01:32:19 +0900 (Mon, 21 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/4-stable/teraterm/common/tttypes.h branches/4-stable/teraterm/teraterm/addsetting.cpp branches/4-stable/teraterm/teraterm/teraterm.cpp branches/4-stable/teraterm/teraterm/vtdisp.c branches/4-stable/teraterm/ttpset/ttset.c -------------- next part -------------- Modified: branches/4-stable/teraterm/common/tttypes.h =================================================================== --- branches/4-stable/teraterm/common/tttypes.h 2020-12-20 13:23:56 UTC (rev 9108) +++ branches/4-stable/teraterm/common/tttypes.h 2020-12-20 16:32:19 UTC (rev 9109) @@ -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/4-stable/teraterm/teraterm/addsetting.cpp =================================================================== --- branches/4-stable/teraterm/teraterm/addsetting.cpp 2020-12-20 13:23:56 UTC (rev 9108) +++ branches/4-stable/teraterm/teraterm/addsetting.cpp 2020-12-20 16:32:19 UTC (rev 9109) @@ -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/4-stable/teraterm/teraterm/teraterm.cpp =================================================================== --- branches/4-stable/teraterm/teraterm/teraterm.cpp 2020-12-20 13:23:56 UTC (rev 9108) +++ branches/4-stable/teraterm/teraterm/teraterm.cpp 2020-12-20 16:32:19 UTC (rev 9109) @@ -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/4-stable/teraterm/teraterm/vtdisp.c =================================================================== --- branches/4-stable/teraterm/teraterm/vtdisp.c 2020-12-20 13:23:56 UTC (rev 9108) +++ branches/4-stable/teraterm/teraterm/vtdisp.c 2020-12-20 16:32:19 UTC (rev 9109) @@ -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/4-stable/teraterm/ttpset/ttset.c =================================================================== --- branches/4-stable/teraterm/ttpset/ttset.c 2020-12-20 13:23:56 UTC (rev 9108) +++ branches/4-stable/teraterm/ttpset/ttset.c 2020-12-20 16:32:19 UTC (rev 9109) @@ -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