When the user changes their mouse drag gesture with modifiers, the drag and drop mouse cursor temporarily flashes to NO_DROP before going to the right one. Test case:
(This is on Windows XP - don't know about other platforms)
- Launch SwingSet2
- On the Options menu, select "Enable Drag Support"
- In the internal frames demo, select text "Frame" in the text field labelled "Frame title"
- Initiate a drag and drag to the right of the text.
- The MOVE DnD cursor is shown
- Press down Control to select a COPY action
- Before the COPY cursor is shown, it quickly flashes to NO_DROP cursor
- Release Control. It quickly flashes to NO_DROP again before returning to MOVE.
- This happens when dragging from Java into native apps too and is very repeatable (only occasionally does the flash not happen).
A little debugging code in DragSourceContext suggests that updateCurrentCursor is being called once with 0 dropOp and 0 targetAct. This is wrong.