JDK-2195720 : Drag & Drop from Motif to Java does not work.
  • Type: Backport
  • Backport of: JDK-6578041
  • Component: client-libs
  • Sub-Component: java.awt
  • Priority: P2
  • Status: Closed
  • Resolution: Fixed
  • Submitted: 2010-07-15
  • Updated: 2011-02-16
  • Resolved: 2010-09-01
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 6 JDK 7
6u21-rev b10Fixed 7Fixed
Comments
SUGGESTED FIX http://jpsesvr.sfbay.sun.com:8080/ctetools/html/ViewDetail.jsp?index=3651
29-07-2010

SUGGESTED FIX we correct an outcome of Java's "signed-based world-view" during the implicit type conversion after the casting.
29-07-2010

SUGGESTED FIX ./src/solaris/classes/sun/awt/X11/MotifDnDDropTargetProtocol.java old: long time_stamp = MotifDnDConstants.Swapper.getInt(data + 4, eventByteOrder); fix: long time_stamp = MotifDnDConstants.Swapper.getInt(data + 4, eventByteOrder) & 0xffffffffL; -- ./src/solaris/classes/sun/awt/X11/MotifDnDDragSourceProtocol.java old: long time = t; fix: long time = t & 0xffffffffL;
28-07-2010

EVALUATION when MotifDnDConstants.Swapper.getInt() is called from sun.awt.X11.MotifDnDDropTargetProtocol.getData() to read a timestamp, a value (32-bit unsigned int) is initially assigned to 32-bit signed int var. Hence, values that exceed (2^31)-1 are interpreted as negative.
21-07-2010