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/in…
==============================================================================
--- 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/nt…
==============================================================================
--- 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/nt…
==============================================================================
--- 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/nt…
==============================================================================
--- 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/nt…
==============================================================================
--- 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));