mirror of
https://github.com/reactos/reactos.git
synced 2025-02-24 01:15:09 +00:00
[Win32SS]
- Based on patch : Jacek Caban : Don't use window' s parent as an owner if WS_CHILD style is not set. - https://www.winehq.org/pipermail/wine-cvs/2016-February/111835.html - Pass all win:test_parent_owner. - Add window last view to Desktop Information structure. svn path=/trunk/; revision=70813
This commit is contained in:
parent
6a531b1d1a
commit
96ab54cc90
1 changed files with 15 additions and 2 deletions
|
@ -1956,9 +1956,21 @@ co_UserCreateWindowEx(CREATESTRUCTW* Cs,
|
|||
goto cleanup;
|
||||
}
|
||||
|
||||
/* FIXME: Is this correct? */
|
||||
if(OwnerWindow)
|
||||
OwnerWindow = UserGetAncestor(OwnerWindow, GA_ROOT);
|
||||
{
|
||||
if (IntIsDesktopWindow(OwnerWindow)) OwnerWindow = NULL;
|
||||
else if (ParentWindow && !IntIsDesktopWindow(ParentWindow))
|
||||
{
|
||||
ERR("an owned window must be created as top-level\n");
|
||||
EngSetLastError( STATUS_ACCESS_DENIED );
|
||||
goto cleanup;
|
||||
}
|
||||
else /* owner must be a top-level window */
|
||||
{
|
||||
while ((OwnerWindow->style & (WS_POPUP|WS_CHILD)) == WS_CHILD && !IntIsDesktopWindow(OwnerWindow->spwndParent))
|
||||
OwnerWindow = OwnerWindow->spwndParent;
|
||||
}
|
||||
}
|
||||
|
||||
/* Fix the position and the size of the window */
|
||||
if (ParentWindow)
|
||||
|
@ -3467,6 +3479,7 @@ NtUserSetShellWindowEx(HWND hwndShell, HWND hwndListView)
|
|||
{
|
||||
ti->pDeskInfo->hShellWindow = hwndShell;
|
||||
ti->pDeskInfo->spwndShell = WndShell;
|
||||
ti->pDeskInfo->spwndBkGnd = WndListView;
|
||||
ti->pDeskInfo->ppiShellProcess = ti->ppi;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue