Everything must come to an end, even the desktop window. Fixes bug 805. Modified: trunk/reactos/subsys/win32k/ntuser/window.c _____
Modified: trunk/reactos/subsys/win32k/ntuser/window.c --- trunk/reactos/subsys/win32k/ntuser/window.c 2005-10-17 21:48:12 UTC (rev 18533) +++ trunk/reactos/subsys/win32k/ntuser/window.c 2005-10-17 21:57:02 UTC (rev 18534) @@ -2035,7 +2035,7 @@
ASSERT_REFS_CO(Window); //fixme: temp hack?
/* Check for owner thread and desktop window */ - if ((Window->OwnerThread != PsGetCurrentThread()) || IntIsDesktopWindow(Window)) + if ((Window->OwnerThread != PsGetCurrentThread())) { SetLastWin32Error(ERROR_ACCESS_DENIED); return FALSE; @@ -2103,7 +2103,8 @@ HWND *ChildHandle; PWINDOW_OBJECT Child, Desktop;
- Desktop = UserGetWindowObject(IntGetDesktopWindow()); + Desktop = IntIsDesktopWindow(Window) ? Window : + UserGetWindowObject(IntGetDesktopWindow()); Children = IntWinListChildren(Desktop);
if (Children)