Author: jimtabor Date: Tue Jul 8 13:58:07 2008 New Revision: 34370
URL: http://svn.reactos.org/svn/reactos?rev=34370&view=rev Log: Win32k/User32: - Removed NtUserGetSystemMetric, updated all related. - Add GetConnected, this is needed, sometimes global pointers are initilized with zeros. This is normal. - Fix prototype for NtUserDragDetect, and add the Esc key hit to DragDetect.
Modified: trunk/reactos/dll/win32/user32/include/user32.h trunk/reactos/dll/win32/user32/misc/desktop.c trunk/reactos/dll/win32/user32/misc/dllmain.c trunk/reactos/dll/win32/user32/windows/input.c trunk/reactos/include/reactos/win32k/ntuser.h trunk/reactos/subsystems/win32/win32k/ntuser/input.c trunk/reactos/subsystems/win32/win32k/ntuser/metric.c
Modified: trunk/reactos/dll/win32/user32/include/user32.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/user32/include/us... ============================================================================== --- trunk/reactos/dll/win32/user32/include/user32.h [iso-8859-1] (original) +++ trunk/reactos/dll/win32/user32/include/user32.h [iso-8859-1] Tue Jul 8 13:58:07 2008 @@ -115,3 +115,4 @@ PWINDOW FASTCALL GetThreadDesktopWnd(VOID); PVOID FASTCALL ValidateHandleNoErr(HANDLE handle, UINT uType); PWINDOW FASTCALL ValidateHwndNoErr(HWND hwnd); +VOID FASTCALL GetConnected(VOID);
Modified: trunk/reactos/dll/win32/user32/misc/desktop.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/user32/misc/deskt... ============================================================================== --- trunk/reactos/dll/win32/user32/misc/desktop.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/user32/misc/desktop.c [iso-8859-1] Tue Jul 8 13:58:07 2008 @@ -99,12 +99,10 @@ int STDCALL GetSystemMetrics(int nIndex) { + GetConnected(); // FIXME("Global Sever Data -> %x\n",g_psi); if (nIndex < 0 || nIndex >= SM_CMETRICS) return 0; - if (g_psi) - return g_psi->SystemMetrics[nIndex]; - else - return(NtUserGetSystemMetrics(nIndex)); + return g_psi->SystemMetrics[nIndex]; }
Modified: trunk/reactos/dll/win32/user32/misc/dllmain.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/user32/misc/dllma... ============================================================================== --- trunk/reactos/dll/win32/user32/misc/dllmain.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/user32/misc/dllmain.c [iso-8859-1] Tue Jul 8 13:58:07 2008 @@ -295,3 +295,25 @@
return TRUE; } + + +VOID +FASTCALL +GetConnected(VOID) +{ + PW32PROCESSINFO pi; + + if ((PW32THREADINFO)NtCurrentTeb()->Win32ThreadInfo == NULL) + NtUserGetThreadState(THREADSTATE_GETTHREADINFO); + + if (g_pi && g_kpi && g_psi) return; + + pi = GetW32ProcessInfo(); + if (!g_pi) g_pi = pi; + if (!g_kpi) g_kpi = SharedPtrToKernel(pi); + if (!g_psi) g_psi = SharedPtrToUser(pi->psi); + if (!g_psi) { WARN("Global Share Information has not been initialized!\n"); } + if (!gHandleTable) gHandleTable = SharedPtrToUser(pi->UserHandleTable); + if (!gHandleEntries) gHandleEntries = SharedPtrToUser(gHandleTable->handles); + +}
Modified: trunk/reactos/dll/win32/user32/windows/input.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/user32/windows/in... ============================================================================== --- trunk/reactos/dll/win32/user32/windows/input.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/user32/windows/input.c [iso-8859-1] Tue Jul 8 13:58:07 2008 @@ -50,13 +50,13 @@ POINT pt) { #if 0 - return NtUserDragDetect(hWnd, pt.x, pt.y); + return NtUserDragDetect(hWnd, pt); #else MSG msg; RECT rect; POINT tmp; - ULONG dx = NtUserGetSystemMetrics(SM_CXDRAG); - ULONG dy = NtUserGetSystemMetrics(SM_CYDRAG); + ULONG dx = GetSystemMetrics(SM_CXDRAG); + ULONG dy = GetSystemMetrics(SM_CYDRAG);
rect.left = pt.x - dx; rect.right = pt.x + dx; @@ -67,12 +67,15 @@
for (;;) { - while (PeekMessageW(&msg, 0, WM_MOUSEFIRST, WM_MOUSELAST, PM_REMOVE)) + while ( + PeekMessageW(&msg, 0, WM_MOUSEFIRST, WM_MOUSELAST, PM_REMOVE) || + PeekMessageW(&msg, 0, WM_KEYFIRST, WM_KEYLAST, PM_REMOVE) + ) { if (msg.message == WM_LBUTTONUP) { ReleaseCapture(); - return 0; + return FALSE; } if (msg.message == WM_MOUSEMOVE) { @@ -81,8 +84,16 @@ if (!PtInRect(&rect, tmp)) { ReleaseCapture(); - return 1; + return TRUE; } + } + if (msg.message == WM_KEYDOWN) + { + if (msg.wParam == VK_ESCAPE) + { + ReleaseCapture(); + return TRUE; + } } } WaitMessage();
Modified: trunk/reactos/include/reactos/win32k/ntuser.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/include/reactos/win32k/ntus... ============================================================================== --- trunk/reactos/include/reactos/win32k/ntuser.h [iso-8859-1] (original) +++ trunk/reactos/include/reactos/win32k/ntuser.h [iso-8859-1] Tue Jul 8 13:58:07 2008 @@ -1062,8 +1062,7 @@ NTAPI NtUserDragDetect( HWND hWnd, - LONG x, - LONG y); + POINT pt);
DWORD NTAPI @@ -2718,10 +2717,6 @@ NTAPI NtUserGetShellWindow();
-ULONG -NTAPI -NtUserGetSystemMetrics(ULONG Index); - HWND NTAPI NtUserGetWindow(HWND hWnd, UINT Relationship);
Modified: trunk/reactos/subsystems/win32/win32k/ntuser/input.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/ntu... ============================================================================== --- trunk/reactos/subsystems/win32/win32k/ntuser/input.c [iso-8859-1] (original) +++ trunk/reactos/subsystems/win32/win32k/ntuser/input.c [iso-8859-1] Tue Jul 8 13:58:07 2008 @@ -885,8 +885,7 @@ STDCALL NtUserDragDetect( HWND hWnd, - LONG x, - LONG y) + POINT pt) // Just like the User call. { UNIMPLEMENTED return 0;
Modified: trunk/reactos/subsystems/win32/win32k/ntuser/metric.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/ntu... ============================================================================== --- trunk/reactos/subsystems/win32/win32k/ntuser/metric.c [iso-8859-1] (original) +++ trunk/reactos/subsystems/win32/win32k/ntuser/metric.c [iso-8859-1] Tue Jul 8 13:58:07 2008 @@ -467,21 +467,5 @@ } }
-ULONG STDCALL -NtUserGetSystemMetrics(ULONG Index) -{ - DECLARE_RETURN(ULONG); - - DPRINT("Enter NtUserGetSystemMetrics\n"); - UserEnterShared(); - - RETURN(UserGetSystemMetrics(Index)); - -CLEANUP: - DPRINT("Leave NtUserGetSystemMetrics, ret=%i\n",_ret_); - UserLeave(); - END_CLEANUP; -} -
/* EOF */