From 0f156208a9f8cbc92193adcbc4ac42aed07f436d Mon Sep 17 00:00:00 2001 From: Denis Zhdanov Date: Wed, 3 Jun 2015 07:51:30 +0300 Subject: [PATCH] UP-4163 Use project-centered locking model Hide more calls to SwingUtilities under InvocationManager --- .../src/com/intellij/openapi/command/WriteCommandAction.java | 4 ++-- platform/util/src/com/intellij/util/ui/UIUtil.java | 5 +++++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/platform/core-api/src/com/intellij/openapi/command/WriteCommandAction.java b/platform/core-api/src/com/intellij/openapi/command/WriteCommandAction.java index 9744091da8ef..ba376412ff42 100644 --- a/platform/core-api/src/com/intellij/openapi/command/WriteCommandAction.java +++ b/platform/core-api/src/com/intellij/openapi/command/WriteCommandAction.java @@ -23,11 +23,11 @@ import com.intellij.openapi.util.Computable; import com.intellij.openapi.util.Ref; import com.intellij.openapi.util.ThrowableComputable; import com.intellij.psi.PsiFile; +import com.intellij.util.ui.UIUtil; import org.jetbrains.annotations.NonNls; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -import javax.swing.*; import java.lang.reflect.InvocationTargetException; import java.util.Arrays; import java.util.Collection; @@ -80,7 +80,7 @@ public abstract class WriteCommandAction extends BaseActionRunnable { performWriteCommandAction(result); } else { - SwingUtilities.invokeAndWait(new Runnable() { + UIUtil.getInvocationManager().invokeAndWait(new Runnable() { @Override public void run() { performWriteCommandAction(result); diff --git a/platform/util/src/com/intellij/util/ui/UIUtil.java b/platform/util/src/com/intellij/util/ui/UIUtil.java index 0e8e2245e1c0..d9d058102ec8 100644 --- a/platform/util/src/com/intellij/util/ui/UIUtil.java +++ b/platform/util/src/com/intellij/util/ui/UIUtil.java @@ -101,6 +101,11 @@ public class UIUtil { private static volatile InvocationManager ourInvocationManager = new DefaultInvocationManager(); + @NotNull + public static InvocationManager getInvocationManager() { + return ourInvocationManager; + } + @SuppressWarnings("unused") // Used in upsource public static void setInvocationManager(@NotNull InvocationManager invocationManager) { ourInvocationManager = invocationManager;