From dcdf7c55d642bf584678ca44054f410f0634ec05 Mon Sep 17 00:00:00 2001 From: Vitaliy Margolen Date: Fri, 20 Jul 2007 07:15:39 -0600 Subject: [PATCH] server: Treat desktop as a top-level window. --- dlls/user32/tests/msg.c | 2 +- dlls/user32/tests/win.c | 3 --- server/window.c | 2 +- 3 files changed, 2 insertions(+), 5 deletions(-) diff --git a/dlls/user32/tests/msg.c b/dlls/user32/tests/msg.c index d04028c8baa..799c891baf4 100644 --- a/dlls/user32/tests/msg.c +++ b/dlls/user32/tests/msg.c @@ -9250,7 +9250,7 @@ static void test_SetForegroundWindow(void) trace("SetForegroundWindow( GetDesktopWindow() )\n"); SetForegroundWindow( GetDesktopWindow() ); ok_sequence(SetForegroundWindowSeq, "SetForegroundWindow( desktop ) away from " - "foreground top level window", TRUE); + "foreground top level window", FALSE); trace("done\n"); DestroyWindow(hwnd); diff --git a/dlls/user32/tests/win.c b/dlls/user32/tests/win.c index b5d2ad5b637..6cbddebe24a 100644 --- a/dlls/user32/tests/win.c +++ b/dlls/user32/tests/win.c @@ -2213,12 +2213,9 @@ static void test_SetForegroundWindow(HWND hwnd) hwnd2 = GetForegroundWindow(); ok(hwnd2 == hwnd, "Wrong foreground window %p\n", hwnd2); - todo_wine - { ok(SetForegroundWindow( GetDesktopWindow() ), "SetForegroundWindow(desktop) error: %d\n", GetLastError()); hwnd2 = GetForegroundWindow(); ok(hwnd2 != hwnd, "Wrong foreground window %p\n", hwnd2); - } ShowWindow(hwnd, SW_HIDE); check_wnd_state(0, 0, 0, 0); diff --git a/server/window.c b/server/window.c index cbb4296b361..182213ee2e6 100644 --- a/server/window.c +++ b/server/window.c @@ -514,7 +514,7 @@ int is_child_window( user_handle_t parent, user_handle_t child ) int is_top_level_window( user_handle_t window ) { struct window *win = get_user_object( window, USER_WINDOW ); - return (win && win->parent && is_desktop_window(win->parent)); + return (win && (is_desktop_window(win) || is_desktop_window(win->parent))); } /* make a window active if possible */ -- 2.11.4.GIT