mirror of
https://github.com/reactos/reactos.git
synced 2025-02-23 08:55:19 +00:00
[win32k]
- Use ONEPARAM_ROUTINE_GETCURSORPOS instead of ONEPARAM_ROUTINE_GETCURSORPOSITION in GetCursorPos - Correctly check if the current thread belongs to the active desktop svn path=/trunk/; revision=57657
This commit is contained in:
parent
d93c98ed58
commit
fc462652f0
4 changed files with 6 additions and 25 deletions
|
@ -3251,7 +3251,6 @@ typedef struct tagKMDDELPARAM
|
|||
#define ONEPARAM_ROUTINE_SWITCHCARETSHOWING 0xfffe0008
|
||||
#define ONEPARAM_ROUTINE_ENABLEPROCWNDGHSTING 0xfffe000d
|
||||
#define ONEPARAM_ROUTINE_GETDESKTOPMAPPING 0xfffe000e
|
||||
#define ONEPARAM_ROUTINE_GETCURSORPOSITION 0xfffe0048 // use ONEPARAM_ or TWOPARAM routine ?
|
||||
#define TWOPARAM_ROUTINE_SETMENUBARHEIGHT 0xfffd0050
|
||||
#define TWOPARAM_ROUTINE_SETGUITHRDHANDLE 0xfffd0052
|
||||
#define MSQ_STATE_CAPTURE 0x1
|
||||
|
|
|
@ -26,7 +26,7 @@ IntFreeDesktopHeap(IN PDESKTOP pdesk);
|
|||
/* GLOBALS *******************************************************************/
|
||||
|
||||
/* Currently active desktop */
|
||||
PDESKTOP InputDesktop = NULL;
|
||||
PDESKTOP gpdeskInputDesktop = NULL;
|
||||
HDESK InputDesktopHandle = NULL;
|
||||
HDC ScreenDeviceContext = NULL;
|
||||
PTHREADINFO gptiDesktopThread;
|
||||
|
@ -420,7 +420,7 @@ IntValidateDesktopHandle(
|
|||
PDESKTOP FASTCALL
|
||||
IntGetActiveDesktop(VOID)
|
||||
{
|
||||
return InputDesktop;
|
||||
return gpdeskInputDesktop;
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -1654,7 +1654,7 @@ NtUserSwitchDesktop(HDESK hdesk)
|
|||
InputWindowStation->ActiveDesktop = pdesk;
|
||||
|
||||
/* Set the global state. */
|
||||
InputDesktop = pdesk;
|
||||
gpdeskInputDesktop = pdesk;
|
||||
InputDesktopHandle = hdesk;
|
||||
TRACE("SwitchDesktop InputDesktopHandle 0x%p\n",InputDesktopHandle);
|
||||
ObDereferenceObject(pdesk);
|
||||
|
|
|
@ -259,25 +259,6 @@ NtUserCallOneParam(
|
|||
RETURN(Result);
|
||||
}
|
||||
|
||||
case ONEPARAM_ROUTINE_GETCURSORPOSITION:
|
||||
{
|
||||
BOOL ret = TRUE;
|
||||
|
||||
_SEH2_TRY
|
||||
{
|
||||
ProbeForWrite((POINT*)Param,sizeof(POINT),1);
|
||||
RtlCopyMemory((POINT*)Param,&gpsi->ptCursor,sizeof(POINT));
|
||||
}
|
||||
_SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER)
|
||||
{
|
||||
SetLastNtError(_SEH2_GetExceptionCode());
|
||||
ret = FALSE;
|
||||
}
|
||||
_SEH2_END;
|
||||
|
||||
RETURN (ret);
|
||||
}
|
||||
|
||||
case ONEPARAM_ROUTINE_ENABLEPROCWNDGHSTING:
|
||||
{
|
||||
BOOL Enable;
|
||||
|
@ -334,9 +315,10 @@ NtUserCallOneParam(
|
|||
BOOL Ret = TRUE;
|
||||
PPOINTL pptl;
|
||||
PTHREADINFO pti = PsGetCurrentThreadWin32Thread();
|
||||
if (pti->hdesk != InputDesktopHandle) RETURN(FALSE);
|
||||
if (pti->rpdesk != IntGetActiveDesktop()) RETURN(FALSE);
|
||||
_SEH2_TRY
|
||||
{
|
||||
ProbeForWrite((POINT*)Param,sizeof(POINT),1);
|
||||
pptl = (PPOINTL)Param;
|
||||
*pptl = gpsi->ptCursor;
|
||||
}
|
||||
|
|
|
@ -806,7 +806,7 @@ EXTINLINE PVOID NtUserxGetDesktopMapping(PVOID ptr)
|
|||
|
||||
EXTINLINE BOOL NtUserxGetCursorPos(POINT* lpPoint)
|
||||
{
|
||||
return (BOOL)NtUserCallOneParam((DWORD_PTR)lpPoint, ONEPARAM_ROUTINE_GETCURSORPOSITION);
|
||||
return (BOOL)NtUserCallOneParam((DWORD_PTR)lpPoint, ONEPARAM_ROUTINE_GETCURSORPOS);
|
||||
}
|
||||
|
||||
EXTINLINE BOOL NtUserxSetMenuBarHeight(HMENU menu, INT height)
|
||||
|
|
Loading…
Reference in a new issue