Author: jimtabor Date: Thu Aug 3 04:50:59 2006 New Revision: 23431
URL: http://svn.reactos.org/svn/reactos?rev=23431&view=rev Log: - Win32k, Merge from head - CreateWindowsEx: Patch based on janderwald patch. 1. Reading and following wine source (user/win.c & winex11.drv/window.c), I noticed that cs->hwndParent is unmodified when passed to the children via WM_NC/CREATE. This fixes edit control wine tests. Reduces the number to 14 failed. 2. Reordered the "fine the parent" code, based on wine. I've tested this change for last two weeks.
Modified: branches/ros-branch-0_3_0/reactos/subsystems/win32/win32k/ntuser/window.c
Modified: branches/ros-branch-0_3_0/reactos/subsystems/win32/win32k/ntuser/window.c URL: http://svn.reactos.org/svn/reactos/branches/ros-branch-0_3_0/reactos/subsyst... ============================================================================== --- branches/ros-branch-0_3_0/reactos/subsystems/win32/win32k/ntuser/window.c (original) +++ branches/ros-branch-0_3_0/reactos/subsystems/win32/win32k/ntuser/window.c Thu Aug 3 04:50:59 2006 @@ -1439,16 +1439,14 @@ } else if (hWndParent) { - if (((dwStyle & (WS_CHILD | WS_POPUP)) == WS_CHILD) || - (dwExStyle & WS_EX_MDICHILD)) - ParentWindowHandle = hWndParent; - else - { - //temp hack + if ((dwStyle & (WS_CHILD | WS_POPUP)) != WS_CHILD) + { //temp hack PWINDOW_OBJECT Par = UserGetWindowObject(hWndParent), Root; if (Par && (Root = UserGetAncestor(Par, GA_ROOT))) OwnerWindowHandle = Root->hSelf; } + else + ParentWindowHandle = hWndParent; } else if ((dwStyle & (WS_CHILD | WS_POPUP)) == WS_CHILD) { @@ -1685,7 +1683,7 @@ Cs.lpCreateParams = lpParam; Cs.hInstance = hInstance; Cs.hMenu = hMenu; - Cs.hwndParent = ParentWindowHandle; + Cs.hwndParent = hWndParent; //Pass the original Parent handle! Cs.cx = Size.cx; Cs.cy = Size.cy; Cs.x = Pos.x;