Piotr Caban : winex11.drv: Ignore effect returned in IDropTarget:: DragEnter.

Alexandre Julliard julliard at wine.codeweavers.com
Mon Dec 21 15:10:32 CST 2015


Module: wine
Branch: master
Commit: a2f3d9740642ca6d4a7c63175f7e8db34120c2b9
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=a2f3d9740642ca6d4a7c63175f7e8db34120c2b9

Author: Piotr Caban <piotr at codeweavers.com>
Date:   Mon Dec 21 11:21:12 2015 +0100

winex11.drv: Ignore effect returned in IDropTarget::DragEnter.

Signed-off-by: Piotr Caban <piotr at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/winex11.drv/xdnd.c | 14 +++++---------
 1 file changed, 5 insertions(+), 9 deletions(-)

diff --git a/dlls/winex11.drv/xdnd.c b/dlls/winex11.drv/xdnd.c
index 01af480..b066751 100644
--- a/dlls/winex11.drv/xdnd.c
+++ b/dlls/winex11.drv/xdnd.c
@@ -305,17 +305,13 @@ void X11DRV_XDND_PositionEvent( HWND hWnd, XClientMessageEvent *event )
         XDNDLastDropTargetWnd = dropTargetWindow;
         if (dropTarget)
         {
+            DWORD effect_ignore = effect;
             hr = IDropTarget_DragEnter(dropTarget, &XDNDDataObject,
                                        MK_LBUTTON, pointl, &effect);
-            if (SUCCEEDED(hr))
+            if (hr == S_OK)
             {
-                if (effect != DROPEFFECT_NONE)
-                {
-                    XDNDAccepted = TRUE;
-                    TRACE("the application accepted the drop\n");
-                }
-                else
-                    TRACE("the application refused the drop\n");
+                XDNDAccepted = TRUE;
+                TRACE("the application accepted the drop (effect = %d)\n", effect_ignore);
             }
             else
                 WARN("IDropTarget_DragEnter failed, error 0x%08X\n", hr);
@@ -340,7 +336,7 @@ void X11DRV_XDND_PositionEvent( HWND hWnd, XClientMessageEvent *event )
     if (XDNDAccepted)
         accept = 1;
     else if ((GetWindowLongW( hWnd, GWL_EXSTYLE ) & WS_EX_ACCEPTFILES) &&
-            (X11DRV_XDND_XdndActionToDROPEFFECT(event->data.l[4]) & DROPEFFECT_COPY) &&
+            (effect & DROPEFFECT_COPY) &&
             X11DRV_XDND_HasHDROP())
     {
         accept = 1;




More information about the wine-cvs mailing list