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?rev=72745&r1=72744&r2=72745&view=diff
==============================================================================
--- 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/nonclient.c?rev=72745&r1=72744&r2=72745&view=diff
==============================================================================
--- 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.c?rev=72745&r1=72744&r2=72745&view=diff
==============================================================================
--- 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;


Reply via email to