Author: gadamopoulos Date: Sat Jan 15 20:13:44 2011 New Revision: 50393
URL: http://svn.reactos.org/svn/reactos?rev=50393&view=rev Log: swm isn't always the best solution. Instead of reinverting the well we can also use win32 api
Modified: branches/arwinss/reactos/dll/win32/winent.drv/mouse.c branches/arwinss/reactos/include/reactos/wine/rosuser.h branches/arwinss/reactos/subsystems/win32/win32k/swm/winman.c branches/arwinss/reactos/subsystems/win32/win32k/w32ksvc.db
Modified: branches/arwinss/reactos/dll/win32/winent.drv/mouse.c URL: http://svn.reactos.org/svn/reactos/branches/arwinss/reactos/dll/win32/winent... ============================================================================== --- branches/arwinss/reactos/dll/win32/winent.drv/mouse.c [iso-8859-1] (original) +++ branches/arwinss/reactos/dll/win32/winent.drv/mouse.c [iso-8859-1] Sat Jan 15 20:13:44 2011 @@ -178,7 +178,7 @@ }
/* get the window handle from cursor position */ - hwnd = SwmGetWindowFromPoint(pt.x, pt.y); + hwnd = ChildWindowFromPointEx(GetDesktopWindow(), pt, CWP_SKIPINVISIBLE);
if (flags & MOUSEEVENTF_MOVE) {
Modified: branches/arwinss/reactos/include/reactos/wine/rosuser.h URL: http://svn.reactos.org/svn/reactos/branches/arwinss/reactos/include/reactos/... ============================================================================== --- branches/arwinss/reactos/include/reactos/wine/rosuser.h [iso-8859-1] (original) +++ branches/arwinss/reactos/include/reactos/wine/rosuser.h [iso-8859-1] Sat Jan 15 20:13:44 2011 @@ -230,9 +230,6 @@ VOID NTAPI SwmPosChanged(GR_WINDOW_ID Wid, const RECT *WindowRect, const RECT *OldRect, HWND hWndAfter, UINT SwpFlags);
-HWND NTAPI -SwmGetWindowFromPoint(LONG x, LONG y); - VOID NTAPI SwmShowWindow(GR_WINDOW_ID Wid, BOOLEAN Show, UINT SwpFlags);
Modified: branches/arwinss/reactos/subsystems/win32/win32k/swm/winman.c URL: http://svn.reactos.org/svn/reactos/branches/arwinss/reactos/subsystems/win32... ============================================================================== --- branches/arwinss/reactos/subsystems/win32/win32k/swm/winman.c [iso-8859-1] (original) +++ branches/arwinss/reactos/subsystems/win32/win32k/swm/winman.c [iso-8859-1] Sat Jan 15 20:13:44 2011 @@ -887,47 +887,6 @@
/* Release the lock */ SwmRelease(); -} - -HWND -NTAPI -SwmGetWindowFromPoint(LONG x, LONG y) -{ - PLIST_ENTRY Current; - PSWM_WINDOW Window; - - /* Acquire the lock */ - SwmAcquire(); - - /* Traverse the list to find our window */ - Current = SwmWindows.Flink; - while(Current != &SwmWindows) - { - Window = CONTAINING_RECORD(Current, SWM_WINDOW, Entry); - - /* Skip hidden windows */ - if (Window->Hidden) - { - /* Advance to the next window */ - Current = Current->Flink; - continue; - } - - if (point_in_region(Window->Visible, x, y)) - { - /* Release the lock */ - SwmRelease(); - - return Window->hwnd; - } - /* Advance to the next window */ - Current = Current->Flink; - } - - /* Release the lock */ - SwmRelease(); - - return 0; }
VOID
Modified: branches/arwinss/reactos/subsystems/win32/win32k/w32ksvc.db URL: http://svn.reactos.org/svn/reactos/branches/arwinss/reactos/subsystems/win32... ============================================================================== --- branches/arwinss/reactos/subsystems/win32/win32k/w32ksvc.db [iso-8859-1] (original) +++ branches/arwinss/reactos/subsystems/win32/win32k/w32ksvc.db [iso-8859-1] Sat Jan 15 20:13:44 2011 @@ -91,6 +91,5 @@ SwmDestroyWindow 1 SwmSetForeground 1 SwmPosChanged 5 -SwmGetWindowFromPoint 2 SwmShowWindow 3 NtUserInitialize 3