[Ttssh2-commit] [6417] GlobalUnlock() した後に buf に触っていたのを修正。

svnno****@sourc***** svnno****@sourc*****
2016年 6月 30日 (木) 08:43:09 JST


Revision: 6417
          http://sourceforge.jp/projects/ttssh2/scm/svn/commits/6417
Author:   doda
Date:     2016-06-30 08:43:08 +0900 (Thu, 30 Jun 2016)
Log Message:
-----------
GlobalUnlock() した後に buf に触っていたのを修正。

GlobalAlloc() の説明には「Win32 環境では、物理メモリ内でメモリブロックが
移動されることは決してありませんが」とあるので大丈夫なのだとは思うけれど
念のため。

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

-------------- next part --------------
Modified: trunk/teraterm/teraterm/clipboar.c
===================================================================
--- trunk/teraterm/teraterm/clipboar.c	2016-06-29 15:00:32 UTC (rev 6416)
+++ trunk/teraterm/teraterm/clipboar.c	2016-06-29 23:43:08 UTC (rev 6417)
@@ -702,8 +702,6 @@
 						hMem = GlobalAlloc(GMEM_MOVEABLE, len + 1);
 						buf = GlobalLock(hMem);
 						SendMessage(GetDlgItem(hDlgWnd, IDC_EDIT), WM_GETTEXT, len + 1, (LPARAM)buf);
-						GlobalUnlock(hMem);
-
 						wide_len = MultiByteToWideChar(CP_ACP, 0, buf, -1, NULL, 0);
 						wide_hMem = GlobalAlloc(GMEM_MOVEABLE, sizeof(WCHAR) * wide_len);
 						if (wide_hMem) {
@@ -712,6 +710,8 @@
 							GlobalUnlock(wide_hMem);
 						}
 
+						GlobalUnlock(hMem);
+
 						EmptyClipboard();
 						SetClipboardData(CF_TEXT, hMem);
 						if (wide_buf) {



Ttssh2-commit メーリングリストの案内