--- old/src/solaris/classes/sun/awt/X11/XBaseMenuWindow.java 2013-09-27 20:23:59.000000000 +0400 +++ new/src/solaris/classes/sun/awt/X11/XBaseMenuWindow.java 2013-09-27 20:23:59.000000000 +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); } /**