diff --git a/platform/core-api/src/com/intellij/openapi/application/Application.java b/platform/core-api/src/com/intellij/openapi/application/Application.java index be3f8a1222ea..9f90c92918f5 100644 --- a/platform/core-api/src/com/intellij/openapi/application/Application.java +++ b/platform/core-api/src/com/intellij/openapi/application/Application.java @@ -220,10 +220,13 @@ public interface Application extends ComponentManager { void invokeLater(@NotNull Runnable runnable, @NotNull ModalityState state, @NotNull Condition expired); /** - * Causes {@code runnable.run()} to be executed synchronously on the + *

Causes {@code runnable.run()} to be executed synchronously on the * AWT event dispatching thread, when IDEA is in the specified modality * state. This call blocks until all pending AWT events have been processed and (then) - * {@code runnable.run()} returns. + * {@code runnable.run()} returns.

+ * + *

If current thread is an event dispatch thread then {@code runnable.run()} + * is executed immediately.

* * @param runnable the runnable to execute. * @param modalityState the state in which the runnable will be executed. diff --git a/platform/platform-impl/src/com/intellij/openapi/application/impl/ApplicationImpl.java b/platform/platform-impl/src/com/intellij/openapi/application/impl/ApplicationImpl.java index 6399cb8715bf..b48df6191e81 100644 --- a/platform/platform-impl/src/com/intellij/openapi/application/impl/ApplicationImpl.java +++ b/platform/platform-impl/src/com/intellij/openapi/application/impl/ApplicationImpl.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2012 JetBrains s.r.o. + * Copyright 2000-2013 JetBrains s.r.o. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -732,7 +732,6 @@ public class ApplicationImpl extends ComponentManagerImpl implements Application @Override public void invokeAndWait(@NotNull Runnable runnable, @NotNull ModalityState modalityState) { if (isDispatchThread()) { - LOG.error("invokeAndWait must not be called from event queue thread"); runnable.run(); return; }