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/subsys…
==============================================================================
--- 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;