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.c... ============================================================================== --- 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/nonclie... ============================================================================== --- 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;