src/solaris/classes/sun/awt/X11/XBaseMenuWindow.java

Print this page

        

@@ -114,10 +114,12 @@
      * If yes - hide the PopupMenu. If no - do nothing
      */
     protected Point grabInputPoint = null;
     protected boolean hasPointerMoved = false;
 
+    private AppContext disposeAppContext;
+
     /************************************************
      *
      * Mapping data
      *
      ************************************************/

@@ -172,10 +174,12 @@
      *
      ************************************************/
     XBaseMenuWindow() {
         super(new XCreateWindowParams(new Object[] {
             DELAYED, Boolean.TRUE}));
+
+        disposeAppContext = AppContext.getAppContext();
     }
 
     /************************************************
      *
      * Abstract methods

@@ -902,16 +906,16 @@
     /**
      * Invokes disposal procedure on eventHandlerThread
      */
     public void dispose() {
         setDisposed(true);
-        InvocationEvent ev = new InvocationEvent(target, new Runnable() {
+
+        SunToolkit.invokeLaterOnAppContext(disposeAppContext, new Runnable()  {
             public void run() {
                 doDispose();
             }
         });
-        super.postEvent(ev);
     }
 
     /**
      * Performs disposal of menu window.
      * Should be called only on eventHandlerThread