From 73329cf8744f71130caedc3029ba19e5895b0bfa Mon Sep 17 00:00:00 2001 From: Alexander Lobas Date: Fri, 7 Apr 2017 13:01:54 +0300 Subject: [PATCH] Move swing dialog logic from write action --- .../openapi/application/ex/ApplicationUtil.java | 11 +++++++++++ 1 file changed, 11 insertions(+) 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