Merge from trunk.
Everything must come to an end, even the desktop window. Fixes bug 805.
Modified: branches/ros-branch-0_2_8/reactos/subsys/win32k/ntuser/window.c

Modified: branches/ros-branch-0_2_8/reactos/subsys/win32k/ntuser/window.c
--- branches/ros-branch-0_2_8/reactos/subsys/win32k/ntuser/window.c	2005-10-17 21:57:02 UTC (rev 18534)
+++ branches/ros-branch-0_2_8/reactos/subsys/win32k/ntuser/window.c	2005-10-17 22:00:42 UTC (rev 18535)
@@ -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)