[PATCH 2/2 resend] winemac.drv: Indicate whether the drop point is non-client area.

Ken Thomases ken at codeweavers.com
Thu Aug 29 13:25:27 CDT 2019


From: Akihiro Sagawa <sagawa.aki at gmail.com>

Signed-off-by: Akihiro Sagawa <sagawa.aki at gmail.com>
Signed-off-by: Ken Thomases <ken at codeweavers.com>
---
 dlls/winemac.drv/dragdrop.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/dlls/winemac.drv/dragdrop.c b/dlls/winemac.drv/dragdrop.c
index 7de50e5881c..a07b66ac14a 100644
--- a/dlls/winemac.drv/dragdrop.c
+++ b/dlls/winemac.drv/dragdrop.c
@@ -453,9 +453,12 @@ BOOL query_drag_drop(macdrv_query* query)
             DROPFILES *dropfiles = GlobalLock(hdrop);
             if (dropfiles)
             {
+                RECT rect;
                 dropfiles->pt.x = pt.x;
                 dropfiles->pt.y = pt.y;
-                dropfiles->fNC  = !ScreenToClient(hwnd, &dropfiles->pt);
+                dropfiles->fNC  = !(ScreenToClient(hwnd, &dropfiles->pt) &&
+                                    GetClientRect(hwnd, &rect) &&
+                                    PtInRect(&rect, dropfiles->pt));
 
                 TRACE("sending WM_DROPFILES: hwnd %p nc %d pt %s %s\n", hwnd,
                       dropfiles->fNC, wine_dbgstr_point(&dropfiles->pt),
-- 
2.21.0




More information about the wine-devel mailing list