This commit is contained in:
Phil Race 2017-09-28 09:13:27 -07:00
commit 1c89e3aa56
390 changed files with 7435 additions and 10519 deletions

View file

@ -191,6 +191,8 @@ public class EventQueue {
return eventLog;
}
private static boolean fxAppThreadIsDispatchThread;
static {
AWTAccessor.setEventQueueAccessor(
new AWTAccessor.EventQueueAccessor() {
@ -227,6 +229,13 @@ public class EventQueue {
return eventQueue.getMostRecentEventTimeImpl();
}
});
AccessController.doPrivileged(new PrivilegedAction<Object>() {
public Object run() {
fxAppThreadIsDispatchThread =
"true".equals(System.getProperty("javafx.embed.singleThread"));
return null;
}
});
}
/**
@ -854,9 +863,15 @@ public class EventQueue {
private AWTEvent getCurrentEventImpl() {
pushPopLock.lock();
try {
if (fxAppThreadIsDispatchThread) {
return (currentEvent != null)
? currentEvent.get()
: null;
} else {
return (Thread.currentThread() == dispatchThread)
? currentEvent.get()
: null;
? currentEvent.get()
: null;
}
} finally {
pushPopLock.unlock();
}
@ -1247,7 +1262,7 @@ public class EventQueue {
private void setCurrentEventAndMostRecentTimeImpl(AWTEvent e) {
pushPopLock.lock();
try {
if (Thread.currentThread() != dispatchThread) {
if (!fxAppThreadIsDispatchThread && Thread.currentThread() != dispatchThread) {
return;
}