Author: jimtabor
Date: Sat Apr  9 07:08:17 2011
New Revision: 51290

URL: http://svn.reactos.org/svn/reactos?rev=51290&view=rev
Log:
[Win32k]
- Added more missed mouse injection flag and extra data being passed in and 
from set cursor position. Wine mouse low level hook msg tests now see it and 
check the validity of the hook message.

Modified:
    trunk/reactos/subsystems/win32/win32k/include/cursoricon.h
    trunk/reactos/subsystems/win32/win32k/ntuser/cursoricon.c
    trunk/reactos/subsystems/win32/win32k/ntuser/input.c
    trunk/reactos/subsystems/win32/win32k/ntuser/msgqueue.c
    trunk/reactos/subsystems/win32/win32k/ntuser/simplecall.c

Modified: trunk/reactos/subsystems/win32/win32k/include/cursoricon.h
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/include/cursoricon.h?rev=51290&r1=51289&r2=51290&view=diff
==============================================================================
--- trunk/reactos/subsystems/win32/win32k/include/cursoricon.h [iso-8859-1] 
(original)
+++ trunk/reactos/subsystems/win32/win32k/include/cursoricon.h [iso-8859-1] Sat 
Apr  9 07:08:17 2011
@@ -69,7 +69,7 @@
    INT cyHeight, UINT istepIfAniCur, HBRUSH hbrFlickerFreeDraw, UINT diFlags);
 PCURICON_OBJECT FASTCALL UserGetCurIconObject(HCURSOR hCurIcon);
 
-BOOL UserSetCursorPos( INT x, INT y);
+BOOL UserSetCursorPos( INT x, INT y, DWORD flags, ULONG_PTR dwExtraInfo);
 
 int UserShowCursor(BOOL bShow);
 

Modified: trunk/reactos/subsystems/win32/win32k/ntuser/cursoricon.c
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/ntuser/cursoricon.c?rev=51290&r1=51289&r2=51290&view=diff
==============================================================================
--- trunk/reactos/subsystems/win32/win32k/ntuser/cursoricon.c [iso-8859-1] 
(original)
+++ trunk/reactos/subsystems/win32/win32k/ntuser/cursoricon.c [iso-8859-1] Sat 
Apr  9 07:08:17 2011
@@ -159,7 +159,7 @@
     return OldCursor;
 }
 
-BOOL UserSetCursorPos( INT x, INT y)
+BOOL UserSetCursorPos( INT x, INT y, DWORD flags, ULONG_PTR dwExtraInfo)
 {
     PWND DesktopWindow;
     PSYSTEM_CURSORINFO CurInfo;
@@ -199,7 +199,7 @@
     Msg.wParam = CurInfo->ButtonsDown;
     Msg.lParam = MAKELPARAM(x, y);
     Msg.pt = pt;
-    co_MsqInsertMouseMessage(&Msg, 0, 0);
+    co_MsqInsertMouseMessage(&Msg, flags, dwExtraInfo);
 
     /* 1. Store the new cursor position */
     gpsi->ptCursor = pt;
@@ -677,7 +677,7 @@
     {
         CurInfo->bClipped = TRUE;
         RECTL_bIntersectRect(&CurInfo->rcClip, prcl, &DesktopWindow->rcWindow);
-        UserSetCursorPos(gpsi->ptCursor.x, gpsi->ptCursor.y);
+        UserSetCursorPos(gpsi->ptCursor.x, gpsi->ptCursor.y, 0, 0);
     }
     else
     {

Modified: trunk/reactos/subsystems/win32/win32k/ntuser/input.c
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/ntuser/input.c?rev=51290&r1=51289&r2=51290&view=diff
==============================================================================
--- trunk/reactos/subsystems/win32/win32k/ntuser/input.c [iso-8859-1] (original)
+++ trunk/reactos/subsystems/win32/win32k/ntuser/input.c [iso-8859-1] Sat Apr  
9 07:08:17 2011
@@ -1138,7 +1138,7 @@
 
    if(mi->dwFlags & MOUSEEVENTF_MOVE)
    {
-      UserSetCursorPos(MousePos.x, MousePos.y);
+      UserSetCursorPos(MousePos.x, MousePos.y, Injected, mi->dwExtraInfo);
    }
    if(mi->dwFlags & MOUSEEVENTF_LEFTDOWN)
    {

Modified: trunk/reactos/subsystems/win32/win32k/ntuser/msgqueue.c
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/ntuser/msgqueue.c?rev=51290&r1=51289&r2=51290&view=diff
==============================================================================
--- trunk/reactos/subsystems/win32/win32k/ntuser/msgqueue.c [iso-8859-1] 
(original)
+++ trunk/reactos/subsystems/win32/win32k/ntuser/msgqueue.c [iso-8859-1] Sat 
Apr  9 07:08:17 2011
@@ -294,7 +294,7 @@
    MouseHistoryOfMoves[gcur_count].x = Msg->pt.x;
    MouseHistoryOfMoves[gcur_count].y = Msg->pt.y;
    MouseHistoryOfMoves[gcur_count].time = Msg->time;
-   MouseHistoryOfMoves[gcur_count].dwExtraInfo = 0; // need to be passed from 
IntMouseInput mi.dwExtraInfo.
+   MouseHistoryOfMoves[gcur_count].dwExtraInfo = dwExtraInfo;
    if (gcur_count++ == 64) gcur_count = 0; // 0 - 63 is 64, FIFO forwards.
 }
 

Modified: trunk/reactos/subsystems/win32/win32k/ntuser/simplecall.c
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/ntuser/simplecall.c?rev=51290&r1=51289&r2=51290&view=diff
==============================================================================
--- trunk/reactos/subsystems/win32/win32k/ntuser/simplecall.c [iso-8859-1] 
(original)
+++ trunk/reactos/subsystems/win32/win32k/ntuser/simplecall.c [iso-8859-1] Sat 
Apr  9 07:08:17 2011
@@ -473,7 +473,7 @@
          RETURN( (DWORD_PTR)co_IntRegisterLogonProcess((HANDLE)Param1, 
(BOOL)Param2));
 
       case TWOPARAM_ROUTINE_SETCURSORPOS:
-         RETURN( (DWORD_PTR)UserSetCursorPos((int)Param1, (int)Param2));
+         RETURN( (DWORD_PTR)UserSetCursorPos((int)Param1, (int)Param2, 0, 0));
 
       case TWOPARAM_ROUTINE_UNHOOKWINDOWSHOOK:
          RETURN( IntUnhookWindowsHook((int)Param1, (HOOKPROC)Param2));


Reply via email to