diff --git a/sakura_core/apiwrap/StdControl.cpp b/sakura_core/apiwrap/StdControl.cpp index 79701c8ace..9cf0eda4da 100644 --- a/sakura_core/apiwrap/StdControl.cpp +++ b/sakura_core/apiwrap/StdControl.cpp @@ -40,7 +40,7 @@ namespace ApiWrap{ // GetWindowText() はコピーした文字数を返す。 // https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-getwindowtextw - const int actualCopied = ::GetWindowText( hWnd, strText.data(), (int)strText.capacity() ); + const int actualCopied = ::GetWindowText( hWnd, strText.data(), (int)(strText.capacity() + 1) ); if( actualCopied < 0 ){ // 仕様上は負の場合はありえないが、念の為エラーチェックしておく。 return false; @@ -51,7 +51,7 @@ namespace ApiWrap{ return false; } } - else if( (int)strText.capacity() <= actualCopied ){ + else if( (int)strText.capacity() < actualCopied ){ // GetWindowText() の仕様上はありえないはず return false; }