<AWT Dev> [8] Review Request: JDK-8024163 [macosx] NullPointerException at javax.swing.TransferHandler$DropHandler.handleDrag since jdk8b93, 7u40b28
Petr Pchelko
petr.pchelko at oracle.com
Wed Sep 25 04:47:43 PDT 2013
Hello, Sergey.
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:
>>> https://bugs.openjdk.java.net/browse/JDK-8024163
>>> The fix is available here:
>>> http://cr.openjdk.java.net/~pchelko/8024163/webrev.00/
>>>
>>> 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
mailing list