make AppUIExecutorImpl#later thread-safer

This commit is contained in:
peter
2018-03-01 14:55:59 +01:00
parent 674667bfb9
commit 881d619637
@@ -57,11 +57,12 @@ class AppUIExecutorImpl implements AppUIExecutor {
@NotNull
@Override
public AppUIExecutor later() {
int eventCount = IdeEventQueue.getInstance().getEventCount();
Integer edtEventCount = ApplicationManager.getApplication().isDispatchThread() ? IdeEventQueue.getInstance().getEventCount() : null;
return withConstraint(new ConstrainedExecutor() {
@Override
public boolean isCorrectContext() {
return eventCount != IdeEventQueue.getInstance().getEventCount();
return edtEventCount == null ? ApplicationManager.getApplication().isDispatchThread()
: edtEventCount != IdeEventQueue.getInstance().getEventCount();
}
@Override