I just ran into this same issue, and it still exists in the latest release. The issue only happens with file dragging (not dragging components within the app). The problem is that the coordinates passed by the OS do not appear to be scaled. This is easy to repro in the JUCE demo with the drag and drop widget example. Just set your Display scaling to something greater than 100%, and drag a file into the taget rectangle in the demo. It will only accept the drag if you drag into where the target rect *would* be if the scaling was at 100% (above and to the left of the actual target rect).
If you don't have a high DPI display, you can also simulate this w/o changing the overall system scaling by manually tweaking the JUCE native Win function getGlobalDPI() to return a hardcoded value (for example 120.0 for 125% scaling). That function lives here:
The fix is to change HWNDComponentPeer::JuceDropTarget::OwnerInfo::getMousePos() to scale the coordinates, like so:
Point<float> getMousePos (const POINTL& mousePos) const
return ScalingHelpers::unscaledScreenPosToScaled (
owner.globalToLocal (Point<float> (static_cast<float> (mousePos.x), static_cast<float> (mousePos.y))));