diff --git a/platform/core-impl/src/com/intellij/openapi/application/ex/ApplicationUtil.java b/platform/core-impl/src/com/intellij/openapi/application/ex/ApplicationUtil.java index 20ef2f259b8c..2e47447c8a20 100644 --- a/platform/core-impl/src/com/intellij/openapi/application/ex/ApplicationUtil.java +++ b/platform/core-impl/src/com/intellij/openapi/application/ex/ApplicationUtil.java @@ -15,6 +15,7 @@ */ package com.intellij.openapi.application.ex; +import com.intellij.openapi.application.Application; import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.progress.ProcessCanceledException; import com.intellij.openapi.progress.ProgressIndicator; @@ -76,6 +77,16 @@ public class ApplicationUtil { } } + public static void showDialogAfterWriteAction(@NotNull Runnable runnable) { + Application application = ApplicationManager.getApplication(); + if (application.isWriteAccessAllowed()) { + application.invokeLater(runnable); + } + else { + runnable.run(); + } + } + public static class CannotRunReadActionException extends ProcessCanceledException { } } \ No newline at end of file