Author: jimtabor
Date: Tue Sep 20 02:00:18 2016
New Revision: 72745
URL:
http://svn.reactos.org/svn/reactos?rev=72745&view=rev
Log:
[NtUser]
- Use send message only and fix return for WM_NC/ACTIVATE. See CORE-11979 and CORE-11324.
Modified:
trunk/reactos/win32ss/user/ntuser/focus.c
trunk/reactos/win32ss/user/ntuser/nonclient.c
trunk/reactos/win32ss/user/ntuser/winpos.c
Modified: trunk/reactos/win32ss/user/ntuser/focus.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/win32ss/user/ntuser/focus.…
==============================================================================
--- trunk/reactos/win32ss/user/ntuser/focus.c [iso-8859-1] (original)
+++ trunk/reactos/win32ss/user/ntuser/focus.c [iso-8859-1] Tue Sep 20 02:00:18 2016
@@ -54,14 +54,15 @@
USER_REFERENCE_ENTRY RefPrev;
PWND WndPrev;
BOOL Ret = TRUE;
+ LPARAM lParam = hWnd ? (LPARAM)hWnd : 0;
if (hWndPrev && (WndPrev = ValidateHwndNoErr(hWndPrev)))
{
UserRefObjectCo(WndPrev, &RefPrev);
- if (co_IntSendMessageNoWait(hWndPrev, WM_NCACTIVATE, FALSE, 0)) //(LPARAM)hWnd))
- {
- co_IntSendMessageNoWait(hWndPrev, WM_ACTIVATE,
+ if (co_IntSendMessage(hWndPrev, WM_NCACTIVATE, FALSE, lParam))
+ {
+ co_IntSendMessage(hWndPrev, WM_ACTIVATE,
MAKEWPARAM(WA_INACTIVE, (WndPrev->style & WS_MINIMIZE) != 0),
(LPARAM)hWnd);
@@ -241,7 +242,7 @@
co_IntMakeWindowActive(Window);
- co_IntSendMessageNoWait( UserHMGetHandle(Window),
+ co_IntSendMessage( UserHMGetHandle(Window),
WM_NCACTIVATE,
(WPARAM)(Window == (gpqForeground ?
gpqForeground->spwndActive : NULL)),
0); //(LPARAM)hWndPrev);
Modified: trunk/reactos/win32ss/user/ntuser/nonclient.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/win32ss/user/ntuser/noncli…
==============================================================================
--- trunk/reactos/win32ss/user/ntuser/nonclient.c [iso-8859-1] (original)
+++ trunk/reactos/win32ss/user/ntuser/nonclient.c [iso-8859-1] Tue Sep 20 02:00:18 2016
@@ -1378,7 +1378,7 @@
}
if ((Wnd->state & WNDS_NONCPAINT) || !(Wnd->style & WS_VISIBLE))
- return 0;
+ return TRUE;
/* This isn't documented but is reproducible in at least XP SP2 and
* Outlook 2007 depends on it
Modified: trunk/reactos/win32ss/user/ntuser/winpos.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/win32ss/user/ntuser/winpos…
==============================================================================
--- trunk/reactos/win32ss/user/ntuser/winpos.c [iso-8859-1] (original)
+++ trunk/reactos/win32ss/user/ntuser/winpos.c [iso-8859-1] Tue Sep 20 02:00:18 2016
@@ -2612,7 +2612,7 @@
{
co_UserSetFocus(Wnd);
// Fix wine Win test_SetFocus todo #3,
- if (!(style & WS_CHILD)) co_IntSendMessageNoWait(UserHMGetHandle(Wnd),
WM_ACTIVATE, WA_ACTIVE, 0);
+ if (!(style & WS_CHILD)) co_IntSendMessage(UserHMGetHandle(Wnd), WM_ACTIVATE,
WA_ACTIVE, 0);
}
//ERR("co_WinPosShowWindow EXIT\n");
return WasVisible;