Browse Subversion RepositoryLog of /trunk/teraterm/ttpset/ttset_keyboard.c
Revision 10129 - (view) (download) (as text) (annotate) - [select for diffs] Modified Tue Aug 9 01:08:26 2022 UTC (20 months ago) by zmatsuo File length: 7757 byte(s) Diff to previous 9934 ttpset.dll を ttermpro.exe へマージした
- EXE(ttermpro.exe)とDLL(ttpset.dll)の各々にヒープが存在する
- モジュール(各ファイル)をまたいでお互いのヒープを操作すると問題が起きる
- dll側で確保してexe側で開放するなどの操作
- ヒープを操作するとアサートが出るなど問題
- どんな問題が出るのかについてのドキュメントは見当たらない
- _CrtIsValidHeapPointer()の説明のヒープ部分から…
- Visual Studio 2010 以降のCRTはヒープは単一になっているのかもしれない
- でも、DLLにstatic CRTがリンクされているときは、DLL個別のヒープが存在する
- Tera Term は static CRT を使用している → DLLに個別のヒープが存在する
- Tera Term 5 では、iniファイルから読み込んだファイル,パス文字列をヒープに置くようにした
- ttpset.dllがiniファイルの読み書きを担っていた
- Unicode対応と合わせて、ファイル名長の上限を撤廃しようとしている
- 従来の上限→MAX_PATH文字
- パスの変更などでモジュールをまたいだヒープ操作が行われることになり、問題が起こる可能性がある
- ログ保存先フォルダを変更するときなどに、malloc(),free()が行われる
- ttpset.dllをなくして、その機能をttermpro.exeに取り込むことでヒープに関する問題が出る可能性を減らす
- ttssh2-dev 409
ticket #45330
Revision 9934 - (view) (download) (as text) (annotate) - [select for diffs] Modified Wed May 18 12:26:40 2022 UTC (22 months, 3 weeks ago) by nmaya File length: 7889 byte(s) Diff to previous 9592 fix typo Revision 9592 - (view) (download) (as text) (annotate) - [select for diffs] Modified Wed Dec 8 15:05:26 2021 UTC (2 years, 4 months ago) by zmatsuo File length: 7889 byte(s) Diff to previous 9430 CTRL + PageUp / PageDown が効かないのを修正 - KEYBOARD.CFGの読み込みに失敗していた - r9289 Revision 9430 - (view) (download) (as text) (annotate) - [select for diffs] Modified Sun Sep 19 15:14:05 2021 UTC (2 years, 6 months ago) by zmatsuo File length: 7885 byte(s) Diff to previous 9324 plugin ReadKeyboardCnf() のファイル名を Unicode化 Revision 9324 - (view) (download) (as text) (annotate) - [select for diffs] Modified Tue Jun 29 15:20:20 2021 UTC (2 years, 9 months ago) by zmatsuo File length: 7945 byte(s) Diff to previous 9309 layer for unicode 向けのコードを削除 Revision 9309 - (view) (download) (as text) (annotate) - [select for diffs] Modified Sat Jun 12 15:29:57 2021 UTC (2 years, 9 months ago) by zmatsuo File length: 7980 byte(s) Diff to previous 9289 layer_for_unicodeを使用するよう修正 Revision 9289 - (view) (download) (as text) (annotate) - [select for diffs] Modified Thu May 27 14:15:25 2021 UTC (2 years, 10 months ago) by zmatsuo File length: 7945 byte(s) Diff to previous 9286 keyboard.cfg 読み込み内部処理をすべて Unicode 化 - キーワードをUnicode化、テーブル化 - ファイル名だけ非Unicode Revision 9286 - (view) (download) (as text) (annotate) - [select for diffs] Modified Wed May 26 14:10:56 2021 UTC (2 years, 10 months ago) by zmatsuo File length: 10022 byte(s) Diff to previous 9280 関数の呼び出し規約を誤っていた
- WINAPI = __stdcall
- 64bitコンパイラの場合
- コンパイラに無視される = __cdecl
- 呼び出し元がスタックポインタを元に戻す
- 32bitコンパイラの場合
- 呼び出された関数がスタックポインタを元に戻す
Revision 9280 - (view) (download) (as text) (annotate) - [select for diffs] Modified Tue May 25 14:02:48 2021 UTC (2 years, 10 months ago) by zmatsuo File length: 10029 byte(s) Diff to previous 9246 keyboard.cfg の "User keys" セクションを Unicode 化
- ユーザーキーの仕様を変更/制限を減らした
- ユーザーキーデータを Unicode で保持するようにした
- 100個連続していなくても読み込めるようにした
- 従来は "User1" から連続して存在しないと読み込みが打ち切られていた
- キーデータ長の上限をなくした
- 従来は合計が 1023文字
- cfgファイル読み込み時の領域が上限となる,ユーザーキー毎に255文字程度
- GetPrivateProfileStringW()
- ユーザーキー読み込みを関数化
- ユーザーキー種別タイプ UserKeyType_t を追加
- crtdbg.h追加
- キーボードの送信を Unicodeベースにした
- 文字長を表す変数の型を size_t に変更
- keyboard.cfg を ttermpro.exe で読み込むようにした
- 変更前は ttpset.dll で読み込んでいた
- プラグインから呼び出されるかもしれないのでエントリは残した
- 実態は ttermpro.exe に移動
- ttpset.dll の ReadKeyboardCnf() からttermpro.exe 内の関数を呼び出す
- Hex2StrW() 追加
Revision 9246 - (view) (download) (as text) (annotate) - [select for diffs] Modified Mon May 10 14:12:22 2021 UTC (2 years, 11 months ago) by zmatsuo File length: 10206 byte(s) Diff to previous 9244 キーボードに関する内部情報を keyboard_i.h にまとめた - teraterm/teraterm/keyboard_i.hを追加 - キーボード内部情報の参照範囲を限定した - teraterm/common/tttypes_key.h から参照しないようにした - 次のファイルから include - teraterm/teraterm/keyboard.c - teraterm/ttpset/ttset_keyboard.c Revision 9244 - (view) (download) (as text) (annotate) - [select for diffs] Added Mon May 10 14:12:02 2021 UTC (2 years, 11 months ago) by zmatsuo File length: 10195 byte(s) キーボードに関連する部分を別ファイルに分離 - 次のファイルを追加 - teratermttpset/ttset_keyboard.c - teraterm/common/tttypes_key.h This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, enter a numeric revision.
|