UP-4163 Use project-centered locking model

Hide more calls to SwingUtilities under InvocationManager
This commit is contained in:
Denis Zhdanov
2015-06-03 07:52:44 +03:00
parent 10ae5c9061
commit 0f156208a9
2 changed files with 7 additions and 2 deletions
@@ -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<T> extends BaseActionRunnable<T> {
performWriteCommandAction(result);
}
else {
SwingUtilities.invokeAndWait(new Runnable() {
UIUtil.getInvocationManager().invokeAndWait(new Runnable() {
@Override
public void run() {
performWriteCommandAction(result);
@@ -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;