diff --git a/projects/samskivert/src/java/com/samskivert/swing/dnd/DnDManager.java b/projects/samskivert/src/java/com/samskivert/swing/dnd/DnDManager.java index 43ba538a..06aa41ce 100644 --- a/projects/samskivert/src/java/com/samskivert/swing/dnd/DnDManager.java +++ b/projects/samskivert/src/java/com/samskivert/swing/dnd/DnDManager.java @@ -432,8 +432,6 @@ public class DnDManager return; } - Component lastComp = _lastComp; - // reset cursors clearComponentCursor(); // _lastComp cleared here _topComp.setCursor(_topCursor); @@ -441,8 +439,8 @@ public class DnDManager // get the last target seen... if (_lastTarget != null) { // determine drop location - Point pos = SwingUtilities.convertPoint(event.getComponent(), - event.getPoint(), lastComp); + Point pos = event.getPoint(); + SwingUtilities.convertPointToScreen(pos, event.getComponent()); _lastTarget.dropCompleted(_source, _data[0], pos); _source.dragCompleted(_lastTarget); } diff --git a/projects/samskivert/src/java/com/samskivert/swing/dnd/DropTarget.java b/projects/samskivert/src/java/com/samskivert/swing/dnd/DropTarget.java index dcbc874e..17b93559 100644 --- a/projects/samskivert/src/java/com/samskivert/swing/dnd/DropTarget.java +++ b/projects/samskivert/src/java/com/samskivert/swing/dnd/DropTarget.java @@ -30,6 +30,8 @@ public interface DropTarget /** * Called when the drop is actually executed. + * + * @param pos the location of the drop in screen coordinates */ public void dropCompleted (DragSource source, Object data, Point pos); }