Fixed reparenting to desktop (found by Gerard Patel).

diff --git a/dlls/x11drv/window.c b/dlls/x11drv/window.c
index 4a417a9..4508b99 100644
--- a/dlls/x11drv/window.c
+++ b/dlls/x11drv/window.c
@@ -398,8 +398,9 @@
 
     dwStyle = wndPtr->dwStyle;
 
-    pWndParent = parent ? WIN_FindWndPtr(parent) : WIN_GetDesktop();
-    if (!pWndParent)
+    if (!parent) parent = GetDesktopWindow();
+
+    if (!(pWndParent = WIN_FindWndPtr(parent)))
     {
         WIN_ReleaseWndPtr( wndPtr );
         return 0;
diff --git a/windows/win.c b/windows/win.c
index bec9352..6f0faed 100644
--- a/windows/win.c
+++ b/windows/win.c
@@ -2391,8 +2391,9 @@
 
     dwStyle = wndPtr->dwStyle;
 
-    pWndParent = parent ? WIN_FindWndPtr(parent) : WIN_GetDesktop();
-    if (!pWndParent)
+    if (!parent) parent = GetDesktopWindow();
+
+    if (!(pWndParent = WIN_FindWndPtr(parent)))
     {
         WIN_ReleaseWndPtr( wndPtr );
         return 0;