user32: Make GetWindowLong() fail for some values on 64-bit.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
d00ed8e7b9
commit
c2f4e2b338
|
@ -6346,7 +6346,6 @@ static void test_set_window_long_size(void)
|
||||||
/* GWLP_WNDPROC */
|
/* GWLP_WNDPROC */
|
||||||
SetLastError(0xdeadbeef);
|
SetLastError(0xdeadbeef);
|
||||||
wnd_proc = (WNDPROC)(LONG_PTR)GetWindowLongA(hwnd, GWLP_WNDPROC);
|
wnd_proc = (WNDPROC)(LONG_PTR)GetWindowLongA(hwnd, GWLP_WNDPROC);
|
||||||
todo_wine
|
|
||||||
ok(!wnd_proc && GetLastError() == ERROR_INVALID_INDEX, "Unexpected window proc.\n");
|
ok(!wnd_proc && GetLastError() == ERROR_INVALID_INDEX, "Unexpected window proc.\n");
|
||||||
|
|
||||||
wnd_proc = (WNDPROC)GetWindowLongPtrA(hwnd, GWLP_WNDPROC);
|
wnd_proc = (WNDPROC)GetWindowLongPtrA(hwnd, GWLP_WNDPROC);
|
||||||
|
@ -6427,12 +6426,10 @@ todo_wine
|
||||||
|
|
||||||
SetLastError(0xdeadbeef);
|
SetLastError(0xdeadbeef);
|
||||||
ret = GetWindowLongA(hwnd, GWLP_HINSTANCE);
|
ret = GetWindowLongA(hwnd, GWLP_HINSTANCE);
|
||||||
todo_wine
|
|
||||||
ok(!ret && GetLastError() == ERROR_INVALID_INDEX, "Unexpected instance %#x.\n", ret);
|
ok(!ret && GetLastError() == ERROR_INVALID_INDEX, "Unexpected instance %#x.\n", ret);
|
||||||
|
|
||||||
SetLastError(0xdeadbeef);
|
SetLastError(0xdeadbeef);
|
||||||
ret = GetWindowLongW(hwnd, GWLP_HINSTANCE);
|
ret = GetWindowLongW(hwnd, GWLP_HINSTANCE);
|
||||||
todo_wine
|
|
||||||
ok(!ret && GetLastError() == ERROR_INVALID_INDEX, "Unexpected instance %#x.\n", ret);
|
ok(!ret && GetLastError() == ERROR_INVALID_INDEX, "Unexpected instance %#x.\n", ret);
|
||||||
|
|
||||||
SetLastError(0xdeadbeef);
|
SetLastError(0xdeadbeef);
|
||||||
|
@ -6451,7 +6448,6 @@ todo_wine
|
||||||
/* GWLP_HWNDPARENT */
|
/* GWLP_HWNDPARENT */
|
||||||
SetLastError(0xdeadbeef);
|
SetLastError(0xdeadbeef);
|
||||||
ret = GetWindowLongA(hwnd, GWLP_HWNDPARENT);
|
ret = GetWindowLongA(hwnd, GWLP_HWNDPARENT);
|
||||||
todo_wine
|
|
||||||
ok(!ret && GetLastError() == ERROR_INVALID_INDEX, "Unexpected parent window %#x.\n", ret);
|
ok(!ret && GetLastError() == ERROR_INVALID_INDEX, "Unexpected parent window %#x.\n", ret);
|
||||||
|
|
||||||
SetLastError(0xdeadbeef);
|
SetLastError(0xdeadbeef);
|
||||||
|
|
|
@ -2690,8 +2690,20 @@ WORD WINAPI GetWindowWord( HWND hwnd, INT offset )
|
||||||
*/
|
*/
|
||||||
LONG WINAPI GetWindowLongA( HWND hwnd, INT offset )
|
LONG WINAPI GetWindowLongA( HWND hwnd, INT offset )
|
||||||
{
|
{
|
||||||
|
switch (offset)
|
||||||
|
{
|
||||||
|
#ifdef _WIN64
|
||||||
|
case GWLP_WNDPROC:
|
||||||
|
case GWLP_HINSTANCE:
|
||||||
|
case GWLP_HWNDPARENT:
|
||||||
|
WARN( "Invalid offset %d\n", offset );
|
||||||
|
SetLastError( ERROR_INVALID_INDEX );
|
||||||
|
return 0;
|
||||||
|
#endif
|
||||||
|
default:
|
||||||
return WIN_GetWindowLong( hwnd, offset, sizeof(LONG), FALSE );
|
return WIN_GetWindowLong( hwnd, offset, sizeof(LONG), FALSE );
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**********************************************************************
|
/**********************************************************************
|
||||||
|
@ -2699,8 +2711,20 @@ LONG WINAPI GetWindowLongA( HWND hwnd, INT offset )
|
||||||
*/
|
*/
|
||||||
LONG WINAPI GetWindowLongW( HWND hwnd, INT offset )
|
LONG WINAPI GetWindowLongW( HWND hwnd, INT offset )
|
||||||
{
|
{
|
||||||
|
switch (offset)
|
||||||
|
{
|
||||||
|
#ifdef _WIN64
|
||||||
|
case GWLP_WNDPROC:
|
||||||
|
case GWLP_HINSTANCE:
|
||||||
|
case GWLP_HWNDPARENT:
|
||||||
|
WARN( "Invalid offset %d\n", offset );
|
||||||
|
SetLastError( ERROR_INVALID_INDEX );
|
||||||
|
return 0;
|
||||||
|
#endif
|
||||||
|
default:
|
||||||
return WIN_GetWindowLong( hwnd, offset, sizeof(LONG), TRUE );
|
return WIN_GetWindowLong( hwnd, offset, sizeof(LONG), TRUE );
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**********************************************************************
|
/**********************************************************************
|
||||||
|
|
Loading…
Reference in New Issue