Revision: 9142 https://osdn.net/projects/ttssh2/scm/svn/commits/9142 Author: zmatsuo Date: 2021-01-30 00:35:22 +0900 (Sat, 30 Jan 2021) Log Message: ----------- SetEditboxEmacsKeybind() で文字化けすることがあったので修正 - 非9x系で(NT系)OSで、ANSI APIのみを使用すると文字化けが発生していた - 実際の使用時はUnicode APIを使用するので発生しない - NT系上で9x向け(ANSI APIのみ使用)テストを行っているときに発生する - compat_win.cpp で UNICODE_API_DISABLE を define してビルド - GetWindowLongPtrW(GWLP_WNDPROC) で取得したアドレスをセット(使用)すると発生 - OS内部で UNICODE Window と誤って認識されるようだ - _GetWindowLongPtrW() を使用するよう修正 - この関数内部で GetWindowLongPtrA,W() を自動で切り替え Modified Paths: -------------- trunk/teraterm/common/dlglib.c -------------- next part -------------- Modified: trunk/teraterm/common/dlglib.c =================================================================== --- trunk/teraterm/common/dlglib.c 2021-01-29 15:35:06 UTC (rev 9141) +++ trunk/teraterm/common/dlglib.c 2021-01-29 15:35:22 UTC (rev 9142) @@ -434,7 +434,7 @@ IsCombobox = TRUE; } data = (EditSubclassData *)malloc(sizeof(EditSubclassData)); - data->OrigProc = (WNDPROC)GetWindowLongPtrW(hWndEdit, GWLP_WNDPROC); + data->OrigProc = (WNDPROC)_GetWindowLongPtrW(hWndEdit, GWLP_WNDPROC); data->OrigUser = (LONG_PTR)GetWindowLongPtr(hWndEdit, GWLP_USERDATA); data->IsComboBox = IsCombobox; _SetWindowLongPtrW(hWndEdit, GWLP_WNDPROC, (LONG_PTR)HostnameEditProc);