On Mon, Jul 31, 2000 at 10:15:14AM -0400, Francois Jacques wrote:
> huw,
> 
> Thanks for this update... After a while, I thought that my WindowRgn 
> patch wouldn't make it into the tree. I have an updated version which 
> had this fix along with other XShape<-->WindowRgns issues. Look for an 
> update later this week...

Hi Francois

Have you got this one too?

Changelog:
        WINPOS_WindowFromPoint should care about hrgnWnd.

Huw.
-- 
   Dr. Huw D M Davies              | Clarendon Laboratory
   [EMAIL PROTECTED]      | Parks Road
   Tel: +44 1865 272390            | Oxford OX1 3PU
   Fax: +44 1865 272400            | UK
Index: windows/winpos.c
===================================================================
RCS file: /home/wine/wine/windows/winpos.c,v
retrieving revision 1.67
diff -u -r1.67 winpos.c
--- windows/winpos.c    2000/07/28 23:04:55     1.67
+++ windows/winpos.c    2000/08/01 09:23:22
@@ -466,13 +466,16 @@
             /* is enabled (or it's a top-level window), then explore */
             /* its children. Otherwise, go to the next window.       */
 
-            if ((wndPtr->dwStyle & WS_VISIBLE) &&
+            if ((wndPtr->dwStyle & WS_VISIBLE) &&
                 (!(wndPtr->dwStyle & WS_DISABLED) ||
                  ((wndPtr->dwStyle & (WS_POPUP | WS_CHILD)) != WS_CHILD)) &&
-                (xy.x >= wndPtr->rectWindow.left) &&
-                (xy.x < wndPtr->rectWindow.right) &&
-                (xy.y >= wndPtr->rectWindow.top) &&
-                (xy.y < wndPtr->rectWindow.bottom))
+               wndPtr->hrgnWnd ?
+               PtInRegion(wndPtr->hrgnWnd, xy.x - wndPtr->rectWindow.left,
+                          xy.y - wndPtr->rectWindow.top) :
+                ((xy.x >= wndPtr->rectWindow.left) &&
+                (xy.x < wndPtr->rectWindow.right) &&
+                (xy.y >= wndPtr->rectWindow.top) &&
+                (xy.y < wndPtr->rectWindow.bottom)))
             {
                 *ppWnd = wndPtr;  /* Got a suitable window */
 
@@ -517,7 +520,7 @@
             {
                 retvalue = hittest;  /* Found the window */
                 goto end;
-       }
+           }
        }
         else
         {

Reply via email to