The fix looks good to me as well.
--
best regards,
Anthony
On 10/01/2013 08:06 PM, Leonid Romanov wrote:
I've investigated this issue and couldn't find a situation where the call to
XToolkit.targetDisposedPeer() from XBaseMenuWindow.doDispose() would make sense
(we call XToolkit.targetDisposedPeer() with correct targets in XPopupMenuPeer
and XMenuBarPeer), so I decided to remove it to avoid any confusion in the
future. We still have the time to fix any regressions, in case they arise.
Here is an updated webrev:
http://cr.openjdk.java.net/~leonidr/8023994/webrev.01/
On Sep 27, 2013, at 9:33 PM, Leonid Romanov <leonid.roma...@oracle.com> wrote:
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.bylok...@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.