mirror of
git://source.winehq.org/git/wine.git
synced 2024-11-01 07:37:02 +00:00
user32: Use the given string length when converting strings in WM_GETTEXT.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
c4ac2d285d
commit
9b7f9f2d08
2 changed files with 2 additions and 6 deletions
|
@ -6932,10 +6932,8 @@ static void test_gettext(void)
|
||||||
memset( bufW, 0x1c, sizeof(bufW) );
|
memset( bufW, 0x1c, sizeof(bufW) );
|
||||||
g_wm_gettext_override.dont_terminate = TRUE;
|
g_wm_gettext_override.dont_terminate = TRUE;
|
||||||
buf_len = GetWindowTextW( hwnd, bufW, sizeof(bufW)/sizeof(bufW[0]) );
|
buf_len = GetWindowTextW( hwnd, bufW, sizeof(bufW)/sizeof(bufW[0]) );
|
||||||
todo_wine
|
|
||||||
ok( buf_len == 4, "Unexpected text length, %d\n", buf_len );
|
ok( buf_len == 4, "Unexpected text length, %d\n", buf_len );
|
||||||
ok( !memcmp(bufW, textW, 4 * sizeof(WCHAR)), "Unexpected window text, %s\n", wine_dbgstr_w(bufW) );
|
ok( !memcmp(bufW, textW, 4 * sizeof(WCHAR)), "Unexpected window text, %s\n", wine_dbgstr_w(bufW) );
|
||||||
todo_wine
|
|
||||||
ok( bufW[4] == 0, "Unexpected buffer contents, %#x\n", bufW[4] );
|
ok( bufW[4] == 0, "Unexpected buffer contents, %#x\n", bufW[4] );
|
||||||
g_wm_gettext_override.dont_terminate = FALSE;
|
g_wm_gettext_override.dont_terminate = FALSE;
|
||||||
|
|
||||||
|
@ -6945,10 +6943,8 @@ todo_wine
|
||||||
memset( buf, 0x1c, sizeof(buf) );
|
memset( buf, 0x1c, sizeof(buf) );
|
||||||
g_wm_gettext_override.dont_terminate = TRUE;
|
g_wm_gettext_override.dont_terminate = TRUE;
|
||||||
buf_len = GetWindowTextA( hwnd2, buf, sizeof(buf) );
|
buf_len = GetWindowTextA( hwnd2, buf, sizeof(buf) );
|
||||||
todo_wine
|
|
||||||
ok( buf_len == 4, "Unexpected text length, %d\n", buf_len );
|
ok( buf_len == 4, "Unexpected text length, %d\n", buf_len );
|
||||||
ok( !memcmp(buf, "text", 4), "Unexpected window text, '%s'\n", buf );
|
ok( !memcmp(buf, "text", 4), "Unexpected window text, '%s'\n", buf );
|
||||||
todo_wine
|
|
||||||
ok( buf[4] == 0, "Unexpected buffer contents, %#x\n", buf[4] );
|
ok( buf[4] == 0, "Unexpected buffer contents, %#x\n", buf[4] );
|
||||||
g_wm_gettext_override.dont_terminate = FALSE;
|
g_wm_gettext_override.dont_terminate = FALSE;
|
||||||
|
|
||||||
|
|
|
@ -460,7 +460,7 @@ LRESULT WINPROC_CallProcAtoW( winproc_callback_t callback, HWND hwnd, UINT msg,
|
||||||
{
|
{
|
||||||
len = 0;
|
len = 0;
|
||||||
if (*result)
|
if (*result)
|
||||||
RtlUnicodeToMultiByteN( str, wParam - 1, &len, ptr, strlenW(ptr) * sizeof(WCHAR) );
|
RtlUnicodeToMultiByteN( str, wParam - 1, &len, ptr, ret * sizeof(WCHAR) );
|
||||||
str[len] = 0;
|
str[len] = 0;
|
||||||
*result = len;
|
*result = len;
|
||||||
}
|
}
|
||||||
|
@ -682,7 +682,7 @@ static LRESULT WINPROC_CallProcWtoA( winproc_callback_t callback, HWND hwnd, UIN
|
||||||
{
|
{
|
||||||
if (*result)
|
if (*result)
|
||||||
{
|
{
|
||||||
RtlMultiByteToUnicodeN( (LPWSTR)lParam, wParam*sizeof(WCHAR), &len, ptr, strlen(ptr)+1 );
|
RtlMultiByteToUnicodeN( (LPWSTR)lParam, wParam*sizeof(WCHAR), &len, ptr, ret + 1 );
|
||||||
*result = len/sizeof(WCHAR) - 1; /* do not count terminating null */
|
*result = len/sizeof(WCHAR) - 1; /* do not count terminating null */
|
||||||
}
|
}
|
||||||
((LPWSTR)lParam)[*result] = 0;
|
((LPWSTR)lParam)[*result] = 0;
|
||||||
|
|
Loading…
Reference in a new issue