<AWT Dev>  Review Request: JDK-8024163 [macosx] NullPointerException at javax.swing.TransferHandler$DropHandler.handleDrag since jdk8b93, 7u40b28
petr.pchelko at oracle.com
Wed Sep 25 04:47:43 PDT 2013
Thank you for the review.
> I suggest to reuse eventSource.getLocationOnScreen() in the isEventInsideTargetsince it heavyweight method.
I'll fix that before pushing the fix.
With best regards. Petr.
On Sep 25, 2013, at 3:43 PM, Sergey Bylokhov <Sergey.Bylokhov at oracle.com> wrote:
> Hi, Petr.
> The fix looks good but I suggest to reuse eventSource.getLocationOnScreen() in the isEventInsideTargetsince it heavyweight method.
> On 25.09.2013 15:05, Petr Pchelko wrote:
>> Hello, AWT Team.
>> Please review the updated version of this fix.
>> It's available at: http://cr.openjdk.java.net/~pchelko/8024163/webrev.01/
>> I have changed the dragExit events generation a bit and added a couple of tests.
>> With best regards. Petr.
>> On Sep 24, 2013, at 6:30 PM, Petr Pchelko <petr.pchelko at oracle.com> wrote:
>>> Hello, AWT Team.
>>> Please review the fix for the following issue:
>>> The fix is available here:
>>> The problem is with the DropTarget Enter/Exit events. For real heavyweights they are generated by native code. For lightweights - in shared code. But for AWT components they should be generated in CDropTargetContextPeer.
>>> Before the fix these events could be generated incorrectly: sometimes duplicated events were sent (this broke autoscrolling) and sometimes events were not sent at all - this caused NPEs in the shared code.
>>> The insideTarget boolean was replaced by a reference to DropTarget to handle nested components correctly.
>>> Tested on Mac OS X (no shared code affected).
>>> No new regression test failures.
>>> With best regards. Petr.
> Best regards, Sergey.
More information about the awt-dev