United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
JDK-6691328 : DragSourceContext returns unexpected cursor

Details
Type:
Bug
Submit Date:
2008-04-21
Status:
Closed
Updated Date:
2012-03-22
Project Name:
JDK
Resolved Date:
2011-05-17
Component:
client-libs
OS:
generic
Sub-Component:
java.awt
CPU:
generic
Priority:
P3
Resolution:
Fixed
Affected Versions:
OpenJDK6,7
Fixed Versions:

Related Reports
Backport:
Relates:
Relates:

Sub Tasks

Description
Test case
api/java_awt/dnd/DragSourceContext/index.html#other[DragSourceContext0012]

Fails on:
*openJDK 6*: b08 (/java/re/openjdk/6/promoted/ea/b08/openjdk/binaries/linux-ubuntu)
*JCK*: 6b b21 JCK-runtime
*platform*:  ubuntu 8.10 (Hardy Heron), Windows
Passes on: *JDK6uX*

For java.awt.dnd.DragSourceContext if current cursor is null, after updateCurrentCursor() operation, method getCursor() returns unexpected result - instead of DragSource.DefaultCopyDrop it returns DragSource.DefaultCopyNoDrop.

Please see attached independent test source.
It fails with the message:
bad cursor: sun.awt.windows.WCustomCursor[CopyNoDrop32x32], expected: sun.awt.windows.WCustomCursor[CopyDrop32x32] 
or
bad cursor: sun.awt.X11.XCustomCursor[CopyNoDrop32x32], expected: sun.awt.X11.XCustomCursor[CopyDrop32x32]

                                    

Comments
SUGGESTED FIX

http://sa.sfbay.sun.com/projects/awt_data/7/6691328/
                                     
2008-05-28
EVALUATION

This is a regression of the fix for 6535356. The fix incorrectly modifies the updateCurrentCursor method of the java.awt.dnd.DragSourceContext class, by mistake the target actions is set to DnDConstants.ACTION_NONE; the udiffs are:

         // do defaults processing
         Cursor c = null;
+        targetAct = DnDConstants.ACTION_NONE;
         switch (status) {
-            default:
-                targetAct = DnDConstants.ACTION_NONE;
             case ENTER:
             case OVER:
             case CHANGED:
                 int    ra = sourceAct & targetAct;
                                     
2008-05-27



Hardware and Software, Engineered to Work Together