From d41300c4abe8ec40319c0c8a7cf46d7400ac9f6f Mon Sep 17 00:00:00 2001 From: peter Date: Mon, 5 Feb 2018 17:49:34 +0100 Subject: [PATCH] require write action to commit non-physical documents it was allowed to omit write action to prevent write-unsafe context warnings from completion & live templates, but those have been fixed in another way --- .../src/com/intellij/psi/impl/DocumentCommitThread.java | 2 +- .../src/com/intellij/psi/impl/PsiDocumentManagerBase.java | 7 +------ 2 files changed, 2 insertions(+), 7 deletions(-) diff --git a/platform/core-impl/src/com/intellij/psi/impl/DocumentCommitThread.java b/platform/core-impl/src/com/intellij/psi/impl/DocumentCommitThread.java index 6c987b2b8144..45558ca229f3 100644 --- a/platform/core-impl/src/com/intellij/psi/impl/DocumentCommitThread.java +++ b/platform/core-impl/src/com/intellij/psi/impl/DocumentCommitThread.java @@ -696,7 +696,7 @@ public class DocumentCommitThread implements Runnable, Disposable, DocumentCommi return false; // optimistic locking failed } - if (file.isPhysical() && !ApplicationManager.getApplication().isWriteAccessAllowed()) { + if (!ApplicationManager.getApplication().isWriteAccessAllowed()) { VirtualFile vFile = viewProvider.getVirtualFile(); LOG.error("Write action expected" + "; document=" + document1 + diff --git a/platform/core-impl/src/com/intellij/psi/impl/PsiDocumentManagerBase.java b/platform/core-impl/src/com/intellij/psi/impl/PsiDocumentManagerBase.java index aa30c985e04c..d8157ec3fa1c 100644 --- a/platform/core-impl/src/com/intellij/psi/impl/PsiDocumentManagerBase.java +++ b/platform/core-impl/src/com/intellij/psi/impl/PsiDocumentManagerBase.java @@ -454,12 +454,7 @@ public abstract class PsiDocumentManagerBase extends PsiDocumentManager implemen assert !isInUncommittedSet(document) : "Document :" + document; }; - if (AbstractFileViewProvider.isFreeThreaded(psiFile.getViewProvider())) { - runnable.run(); - } - else { - ApplicationManager.getApplication().runWriteAction(runnable); - } + ApplicationManager.getApplication().runWriteAction(runnable); } // true if the PSI is being modified and events being sent