Index: LoggerButton.java =================================================================== RCS file: /cvs/sim/bugsubmitter/src/org/netbeans/core/LoggerButton.java,v --- LoggerButton.java 10 Mar 2003 17:33:32 -0000 1.6.2.1 +++ LoggerButton.java 1 May 2003 13:46:09 -0000 @@ -36,9 +36,11 @@ import org.netbeans.modules.sim.bugsubmitter.ui.ExceptionHandler; import org.netbeans.modules.sim.bugsubmitter.resources.BugsubmitterWizardAction; +import java.awt.EventQueue; import java.awt.event.ActionEvent; import java.util.ResourceBundle; import javax.swing.JButton; +import javax.swing.SwingUtilities; import java.beans.PropertyChangeListener; import java.beans.PropertyChangeEvent; @@ -62,7 +64,24 @@ * so that it can be turned on and off. */ public static void ensureButtonRegistered() { - initialize(); + + //if we are on the AWT EDT we don't want to block with invokeAndWait. + if (EventQueue.isDispatchThread()) { + initialize(); + } + else { // use invokeAndWait to initialize JButton in case of BT 4833969. + try{ + SwingUtilities.invokeAndWait(new Runnable() { + public void run() { + initialize(); + } + }); + } catch (java.lang.InterruptedException e) { + //deliberately do nothing here + } catch (java.lang.reflect.InvocationTargetException e) { + //deliberately do nothing here + } + } bswa.registerButton(log); } @@ -86,11 +105,11 @@ /** Add a "Log report" button to the exception reporting dialog. */ public static void addLogButton() { - initialize(); - javax.swing.SwingUtilities.invokeLater(new Runnable() { + SwingUtilities.invokeLater(new Runnable() { public void run() { try { + initialize(); if(log != null) log.setEnabled(bswa.isEnabled());