chiark / gitweb /
threading fixes: use invokeLater to always run the GUI initialisation on the event...
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Sat, 2 Apr 2011 12:14:49 +0000 (13:14 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Sat, 2 Apr 2011 12:14:49 +0000 (13:14 +0100)
src/net/chiark/yarrg/MarketUploader.java

index 2e83678..eb97225 100644 (file)
@@ -34,7 +34,7 @@ import java.beans.*;
 *      an error dialog is shown, and processing returns, the button
 *      becoming re-enabled.
 */
-public class MarketUploader implements TopLevelWindowListener, GUIInitializedListener {
+public class MarketUploader implements Runnable, TopLevelWindowListener, GUIInitializedListener {
        private JFrame frame = null;
        private Window window = null;
        private JButton findMarket = null;
@@ -272,6 +272,12 @@ public class MarketUploader implements TopLevelWindowListener, GUIInitializedLis
                uploadToPCTB=prefs.getBoolean("uploadToPCTB", true);
                showArbitrage=prefs.getBoolean("showArbitrage", true);
 
+               if (dtxt!=null) dtxt.println("main on dispatch thread: "+EventQueue.isDispatchThread());
+               EventQueue.invokeLater(this);
+       }
+
+        public void run() {
+               if (dtxt!=null) dtxt.println("MarketUploader run()...");
                EventQueueMonitor.addTopLevelWindowListener(this);
                if (EventQueueMonitor.isGUIInitialized()) {
                        createGUI();