From: Rein Klazes Date: Tue, 21 Dec 2004 14:36:32 +0000 (+0000) Subject: You can make an invisible window the active window. X-Git-Tag: wine-20050111~289 X-Git-Url: http://git.etersoft.ru/projects/?a=commitdiff_plain;h=c0b189b3b61e0925ba00cdf6d6bd72aa3b4a06c3;p=wine%2Feterwine.git You can make an invisible window the active window. --- diff --git a/dlls/user/focus.c b/dlls/user/focus.c index ff779abd38..619cd6d499 100644 --- a/dlls/user/focus.c +++ b/dlls/user/focus.c @@ -230,7 +230,7 @@ HWND WINAPI SetActiveWindow( HWND hwnd ) { LONG style = GetWindowLongW( hwnd, GWL_STYLE ); - if (!(style & WS_VISIBLE) || (style & (WS_POPUP|WS_CHILD)) == WS_CHILD) + if ((style & (WS_POPUP|WS_CHILD)) == WS_CHILD) return GetActiveWindow(); /* Windows doesn't seem to return an error here */ hwnd = WIN_GetFullHandle( hwnd ); diff --git a/dlls/user/tests/win.c b/dlls/user/tests/win.c index 942aeca29e..2da2b6aeb4 100644 --- a/dlls/user/tests/win.c +++ b/dlls/user/tests/win.c @@ -1864,6 +1864,12 @@ static void test_SetActiveWindow(HWND hwnd) SetWindowPos(hwnd,0,0,0,0,0,SWP_NOZORDER|SWP_NOMOVE|SWP_NOSIZE|SWP_NOACTIVATE|SWP_SHOWWINDOW); ShowWindow(hwnd, SW_HIDE); ok( GetActiveWindow() != hwnd, "Window %p is still active\n", hwnd ); + + /* trace("**testing an invisible window now\n"); */ + SetActiveWindow(hwnd); + ok( GetActiveWindow() == hwnd, "Window %p not active\n", hwnd ); + ok( !(GetWindowLong(hwnd,GWL_STYLE) & WS_VISIBLE), "Window %p is visible\n", hwnd ); + ShowWindow(hwnd, SW_SHOW); hwnd2 = CreateWindowExA(0, "static", NULL, WS_POPUP|WS_VISIBLE, 0, 0, 0, 0, hwnd, 0, 0, NULL);