Index: main/vcl/aqua/source/dtrans/DropTarget.cxx =================================================================== --- main/vcl/aqua/source/dtrans/DropTarget.cxx (revision 1686655) +++ main/vcl/aqua/source/dtrans/DropTarget.cxx (working copy) @@ -133,7 +133,8 @@ -(BOOL)performDragOperation:(id )sender { - return mDropTarget->performDragOperation(sender); + (void) sender; + return mDropTarget->performDragOperation(); } @@ -235,10 +236,13 @@ sal_Int8 currentAction = determineDropAction(mDragSourceSupportedActions, sender); NSRect bounds = [mView bounds]; - NSPoint dragLocation = [sender draggedImageLocation]; - + NSPoint mouseLoc = [NSEvent mouseLocation]; + + id wnd = [mView window]; + NSPoint dragLocation = [mView convertPoint:[wnd convertScreenToBase:mouseLoc] fromView:nil]; + CocoaToVCL(dragLocation, bounds); - + sal_Int32 posX = static_cast(dragLocation.x); sal_Int32 posY = static_cast(dragLocation.y); @@ -274,8 +278,11 @@ { sal_Int8 currentAction = determineDropAction(currentDragSourceActions, sender); NSRect bounds = [mView bounds]; - NSPoint dragLocation = [sender draggedImageLocation]; + NSPoint mouseLoc = [NSEvent mouseLocation]; + id wnd = [mView window]; + NSPoint dragLocation = [mView convertPoint:[wnd convertScreenToBase:mouseLoc] fromView:nil]; + CocoaToVCL(dragLocation, bounds); sal_Int32 posX = static_cast(dragLocation.x); @@ -326,7 +333,7 @@ } -BOOL DropTarget::performDragOperation(id sender) +BOOL DropTarget::performDragOperation() { bool bSuccess = false; @@ -340,8 +347,11 @@ } NSRect bounds = [mView bounds]; - NSPoint dragLocation = [sender draggedImageLocation]; + NSPoint mouseLoc = [NSEvent mouseLocation]; + id wnd = [mView window]; + NSPoint dragLocation = [mView convertPoint:[wnd convertScreenToBase:mouseLoc] fromView:nil]; + CocoaToVCL(dragLocation, bounds); sal_Int32 posX = static_cast(dragLocation.x); Index: main/vcl/aqua/source/dtrans/DropTarget.hxx =================================================================== --- main/vcl/aqua/source/dtrans/DropTarget.hxx (revision 1686655) +++ main/vcl/aqua/source/dtrans/DropTarget.hxx (working copy) @@ -133,7 +133,7 @@ virtual NSDragOperation draggingUpdated(id sender); virtual void draggingExited(id sender); virtual BOOL prepareForDragOperation(id sender); - virtual BOOL performDragOperation(id sender); + virtual BOOL performDragOperation(); virtual void concludeDragOperation(id sender); /* If multiple actions are supported by the drag source and