src/share/classes/sun/awt/SunToolkit.java
Print this page
@@ -99,13 +99,11 @@
* the 4-bytes limit for the int type. (CR 6799099)
* One more bit is reserved for FIRST_HIGH_BIT.
*/
public final static int MAX_BUTTONS_SUPPORTED = 20;
- public SunToolkit() {
- Runnable initEQ = new Runnable() {
- public void run () {
+ private static void initEQ(AppContext appContext) {
EventQueue eventQueue;
String eqName = System.getProperty("AWT.EventQueueClass",
"java.awt.EventQueue");
@@ -114,19 +112,19 @@
} catch (Exception e) {
e.printStackTrace();
System.err.println("Failed loading " + eqName + ": " + e);
eventQueue = new EventQueue();
}
- AppContext appContext = AppContext.getAppContext();
appContext.put(AppContext.EVENT_QUEUE_KEY, eventQueue);
PostEventQueue postEventQueue = new PostEventQueue(eventQueue);
appContext.put(POST_EVENT_QUEUE_KEY, postEventQueue);
}
- };
- initEQ.run();
+ public SunToolkit() {
+ // 7122796: Always create an EQ for the main AppContext
+ initEQ(AppContext.getMainAppContext());
}
public boolean useBufferPerWindow() {
return false;
}
@@ -287,23 +285,11 @@
// Create appContext before initialization of EventQueue, so all
// the calls to AppContext.getAppContext() from EventQueue ctor
// return correct values
AppContext appContext = new AppContext(threadGroup);
- EventQueue eventQueue;
- String eqName = System.getProperty("AWT.EventQueueClass",
- "java.awt.EventQueue");
- try {
- eventQueue = (EventQueue)Class.forName(eqName).newInstance();
- } catch (Exception e) {
- System.err.println("Failed loading " + eqName + ": " + e);
- eventQueue = new EventQueue();
- }
- appContext.put(AppContext.EVENT_QUEUE_KEY, eventQueue);
-
- PostEventQueue postEventQueue = new PostEventQueue(eventQueue);
- appContext.put(POST_EVENT_QUEUE_KEY, postEventQueue);
+ initEQ(appContext);
return appContext;
}
public static Field getField(final Class<?> klass, final String fieldName) {