Commit in reactos/subsys/win32k on MAIN
include/winpos.h+1-11.10 -> 1.11
ntuser/msgqueue.c+3-51.71 -> 1.72
      /window.c+2-21.192 -> 1.193
      /winpos.c+8-61.99 -> 1.100
+14-14
4 modified files
fixed WindowFromPoint() to send WM_NCHITTEST messages to windows that belong to the current process.

reactos/subsys/win32k/include
winpos.h 1.10 -> 1.11
diff -u -r1.10 -r1.11
--- winpos.h	24 Feb 2004 13:27:02 -0000	1.10
+++ winpos.h	24 Feb 2004 15:56:52 -0000	1.11
@@ -20,7 +20,7 @@
 BOOLEAN FASTCALL
 WinPosShowWindow(HWND Wnd, INT Cmd);
 USHORT FASTCALL
-WinPosWindowFromPoint(PWINDOW_OBJECT ScopeWin, POINT *WinPoint, 
+WinPosWindowFromPoint(PWINDOW_OBJECT ScopeWin, BOOL SendProcHitTests, POINT *WinPoint, 
 		      PWINDOW_OBJECT* Window);
 VOID FASTCALL WinPosActivateOtherWindow(PWINDOW_OBJECT Window);
 

reactos/subsys/win32k/ntuser
msgqueue.c 1.71 -> 1.72
diff -u -r1.71 -r1.72
--- msgqueue.c	24 Feb 2004 13:27:03 -0000	1.71
+++ msgqueue.c	24 Feb 2004 15:56:52 -0000	1.72
@@ -16,7 +16,7 @@
  *  along with this program; if not, write to the Free Software
  *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  */
-/* $Id: msgqueue.c,v 1.71 2004/02/24 13:27:03 weiden Exp $
+/* $Id: msgqueue.c,v 1.72 2004/02/24 15:56:52 weiden Exp $
  *
  * COPYRIGHT:        See COPYING in the top level directory
  * PROJECT:          ReactOS kernel
@@ -255,9 +255,7 @@
       Msg == WM_RBUTTONDOWN ||
       Msg == WM_XBUTTONDOWN)
   {
-    USHORT Hit = WinPosWindowFromPoint(ScopeWin, 
-    				   &Message->Msg.pt, 
-    				   &Window);
+    USHORT Hit = WinPosWindowFromPoint(ScopeWin, FALSE, &Message->Msg.pt, &Window);
     /*
     **Make sure that we have a window that is not already in focus
     */
@@ -315,7 +313,7 @@
     }
     else
     {
-      *HitTest = WinPosWindowFromPoint(ScopeWin, &Message->Msg.pt, &Window);
+      *HitTest = WinPosWindowFromPoint(ScopeWin, FALSE, &Message->Msg.pt, &Window);
       if(!Window)
       {
         /* change the cursor on desktop background */

reactos/subsys/win32k/ntuser
window.c 1.192 -> 1.193
diff -u -r1.192 -r1.193
--- window.c	24 Feb 2004 13:27:03 -0000	1.192
+++ window.c	24 Feb 2004 15:56:52 -0000	1.193
@@ -16,7 +16,7 @@
  *  along with this program; if not, write to the Free Software
  *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  */
-/* $Id: window.c,v 1.192 2004/02/24 13:27:03 weiden Exp $
+/* $Id: window.c,v 1.193 2004/02/24 15:56:52 weiden Exp $
  *
  * COPYRIGHT:        See COPYING in the top level directory
  * PROJECT:          ReactOS kernel
@@ -3373,7 +3373,7 @@
       pt.x = X;
       pt.y = Y;
       
-      Hit = WinPosWindowFromPoint(DesktopWindow, &pt, &Window);
+      Hit = WinPosWindowFromPoint(DesktopWindow, TRUE, &pt, &Window);
       
       if(Window)
       {

reactos/subsys/win32k/ntuser
winpos.c 1.99 -> 1.100
diff -u -r1.99 -r1.100
--- winpos.c	24 Feb 2004 13:27:03 -0000	1.99
+++ winpos.c	24 Feb 2004 15:56:53 -0000	1.100
@@ -16,7 +16,7 @@
  *  along with this program; if not, write to the Free Software
  *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  */
-/* $Id: winpos.c,v 1.99 2004/02/24 13:27:03 weiden Exp $
+/* $Id: winpos.c,v 1.100 2004/02/24 15:56:53 weiden Exp $
  *
  * COPYRIGHT:        See COPYING in the top level directory
  * PROJECT:          ReactOS kernel
@@ -1277,7 +1277,7 @@
 }
 
 BOOL STATIC FASTCALL
-WinPosSearchChildren(PWINDOW_OBJECT ScopeWin, POINT *Point,
+WinPosSearchChildren(PWINDOW_OBJECT ScopeWin, BOOL SendProcHitTests, POINT *Point,
 		     PWINDOW_OBJECT* Window, USHORT *HitTest)
 {
   PWINDOW_OBJECT Current;
@@ -1314,7 +1314,9 @@
           return TRUE;
         }
         
-        if(Current->MessageQueue == PsGetWin32Thread()->MessageQueue)
+        if((SendProcHitTests && 
+            (Current->OwnerThread->ThreadsProcess == PsGetCurrentProcess())) ||
+           (Current->MessageQueue == PsGetWin32Thread()->MessageQueue))
         {
           *HitTest = IntSendMessage(Current->Self, WM_NCHITTEST, 0,
                                     MAKELONG(Point->x, Point->y));
@@ -1334,7 +1336,7 @@
            Point->y < Current->ClientRect.bottom)
         {
           USHORT ChildHitTest;
-          if(WinPosSearchChildren(Current, Point, Window, &ChildHitTest))
+          if(WinPosSearchChildren(Current, SendProcHitTests, Point, Window, &ChildHitTest))
           {
             *HitTest = ChildHitTest;
             ExFreePool(List);
@@ -1357,7 +1359,7 @@
 }
 
 USHORT FASTCALL
-WinPosWindowFromPoint(PWINDOW_OBJECT ScopeWin, POINT *WinPoint, 
+WinPosWindowFromPoint(PWINDOW_OBJECT ScopeWin, BOOL SendProcHitTests, POINT *WinPoint, 
 		      PWINDOW_OBJECT* Window)
 {
   HWND DesktopWindowHandle;
@@ -1387,7 +1389,7 @@
     IntReleaseWindowObject(DesktopWindow);
   }
   
-  if(WinPosSearchChildren(ScopeWin, &Point, Window, &HitTest))
+  if(WinPosSearchChildren(ScopeWin, SendProcHitTests, &Point, Window, &HitTest))
   {
     return HitTest;
   }
CVSspam 0.2.8