# HG changeset patch # User leonidr # Date 1380719169 -14400 # Node ID 20326f6cd2aaed4d7d43a197977ae99d0389f8e0 # Parent 0eef03207781dece694851e2eb9e6d5af4197544 8023994: Right click on the icon added to the system tray for the first time, java.lang.IllegalArgumentException thrown. Reviewed-by: anthony, serb diff -r 0eef03207781 -r 20326f6cd2aa jdk/src/solaris/classes/sun/awt/X11/XBaseMenuWindow.java --- a/jdk/src/solaris/classes/sun/awt/X11/XBaseMenuWindow.java Wed Oct 02 16:58:13 2013 +0400 +++ b/jdk/src/solaris/classes/sun/awt/X11/XBaseMenuWindow.java Wed Oct 02 17:06:09 2013 +0400 @@ -116,6 +116,8 @@ protected Point grabInputPoint = null; protected boolean hasPointerMoved = false; + private AppContext disposeAppContext; + /************************************************ * * Mapping data @@ -174,6 +176,8 @@ XBaseMenuWindow() { super(new XCreateWindowParams(new Object[] { DELAYED, Boolean.TRUE})); + + disposeAppContext = AppContext.getAppContext(); } /************************************************ @@ -904,12 +908,12 @@ */ public void dispose() { setDisposed(true); - InvocationEvent ev = new InvocationEvent(target, new Runnable() { + + SunToolkit.invokeLaterOnAppContext(disposeAppContext, new Runnable() { public void run() { doDispose(); } }); - super.postEvent(ev); } /** @@ -923,7 +927,6 @@ if (oldData != null) { oldData.invalidate(); } - XToolkit.targetDisposedPeer(target, this); destroy(); }