Revision: 18305
          http://sourceforge.net/p/gate/code/18305
Author:   markagreenwood
Date:     2014-09-10 10:19:08 +0000 (Wed, 10 Sep 2014)
Log Message:
-----------
make sure events that invovle adding new exporters to the menu are handled on 
the EDT

Modified Paths:
--------------
    gate/trunk/src/main/gate/gui/DocumentExportMenu.java

Modified: gate/trunk/src/main/gate/gui/DocumentExportMenu.java
===================================================================
--- gate/trunk/src/main/gate/gui/DocumentExportMenu.java        2014-09-10 
08:21:37 UTC (rev 18304)
+++ gate/trunk/src/main/gate/gui/DocumentExportMenu.java        2014-09-10 
10:19:08 UTC (rev 18305)
@@ -62,6 +62,7 @@
 import javax.swing.JTable;
 import javax.swing.JTextField;
 import javax.swing.KeyStroke;
+import javax.swing.SwingUtilities;
 import javax.swing.table.TableCellEditor;
 
 /**
@@ -425,29 +426,43 @@
    */
   @Override
   public void resourceLoaded(CreoleEvent e) {
-    Resource res = e.getResource();
+    final Resource res = e.getResource();
 
     if(res instanceof DocumentExporter) {
-      addExporter((DocumentExporter)res);
+      SwingUtilities.invokeLater(new Runnable() {
+        
+        @Override
+        public void run() {
+          addExporter((DocumentExporter)res);
+        }
+      });
+      
     }
   }
 
   @Override
   public void resourceUnloaded(CreoleEvent e) {
-    Resource res = e.getResource();
+    final Resource res = e.getResource();
 
     if(res instanceof DocumentExporter) {
-      JMenuItem item = itemByResource.get(res);
+      SwingUtilities.invokeLater(new Runnable() {
+        
+        @Override
+        public void run() {
+          // TODO Auto-generated method stub
+          JMenuItem item = itemByResource.get(res);
 
-      if(item != null) {
-        remove(item);
-        itemByResource.remove(res);
-      }
-    }
-
-    if(getItemCount() == 2) {
-      remove(1);
-    }
+          if(item != null) {
+            remove(item);
+            itemByResource.remove(res);
+          }
+          
+          if(getItemCount() == 2) {
+            remove(1);
+          }
+        }
+      });     
+    }    
   }
 
   // remaining CreoleListener methods not used

This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.


------------------------------------------------------------------------------
Want excitement?
Manually upgrade your production database.
When you want reliability, choose Perforce
Perforce version control. Predictably reliable.
http://pubads.g.doubleclick.net/gampad/clk?id=157508191&iu=/4140/ostg.clktrk
_______________________________________________
GATE-cvs mailing list
GATE-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/gate-cvs

Reply via email to