[ros-diffs] [gadamopoulos] 50393: swm isn't always the best solution. Instead of reinverting the well we can also use win32 api

gadamopoulos at svn.reactos.org gadamopoulos at svn.reactos.org
Sat Jan 15 20:13:44 UTC 2011


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.drv/mouse.c?rev=50393&r1=50392&r2=50393&view=diff
==============================================================================
--- 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/wine/rosuser.h?rev=50393&r1=50392&r2=50393&view=diff
==============================================================================
--- 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/win32k/swm/winman.c?rev=50393&r1=50392&r2=50393&view=diff
==============================================================================
--- 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/win32k/w32ksvc.db?rev=50393&r1=50392&r2=50393&view=diff
==============================================================================
--- 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




More information about the Ros-diffs mailing list