<AWT Dev> [8] Review request for 8023994: Right click on the icon added to the system tray for the first time, java.lang.IllegalArgumentException thrown.

Leonid Romanov leonid.romanov at oracle.com
Fri Sep 27 10:33:45 PDT 2013


Yes, this code looked suspicious for me as well, I suspect it is a result of copy pasting XWindow's dispose() code.  For a wrong peer/target pair, XToolkit.targetDisposedPeer() is a no-op, so no harm is done, but perhaps it makes sense to remove that call altogether.  I'll check it.

On Sep 27, 2013, at 9:25 PM, Sergey Bylokhov <Sergey.Bylokhov at oracle.com> wrote:

> Hi, Leonid.
> In this case the code in the XBaseMenuWindow.doDispose() call XToolkit.targetDisposedPeer(target, this); for the wrong target? Or probably this target is alwase null?
> 
> On 27.09.2013 20:32, Leonid Romanov wrote:
>> Hello,
>> Please review a fix for 8023994: Right click on the icon added to the system tray for the first time, java.lang.IllegalArgumentException thrown. The problem here is that for popup menus the "target" field of XBaseMenuWindow class is not a MenuComponent corresponding to the popup, but a component for which the popup is being shown. Therefore, if the menu has never been shown, the the target is null, so we can't use it for the InvocationEvent in dispose().
>> 
>> Bug: https://bugs.openjdk.java.net/browse/JDK-8023994
>> Webrev: http://cr.openjdk.java.net/~leonidr/8023994/webrev.00/
>> 
>> Thanks,
>> Leonid.
>> 
>> 
>> 
> 
> 
> -- 
> Best regards, Sergey.
> 



More information about the awt-dev mailing list