diff --git a/platform/lang-impl/src/com/intellij/codeInspection/ui/ProblemPreviewEditorPresentation.java b/platform/lang-impl/src/com/intellij/codeInspection/ui/ProblemPreviewEditorPresentation.java index d5993d01223f..39d011307b8a 100644 --- a/platform/lang-impl/src/com/intellij/codeInspection/ui/ProblemPreviewEditorPresentation.java +++ b/platform/lang-impl/src/com/intellij/codeInspection/ui/ProblemPreviewEditorPresentation.java @@ -19,7 +19,6 @@ import com.intellij.codeInspection.CommonProblemDescriptor; import com.intellij.codeInspection.ProblemDescriptorBase; import com.intellij.diff.tools.util.FoldingModelSupport; import com.intellij.diff.util.DiffDrawUtil; -import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.editor.FoldRegion; import com.intellij.openapi.editor.ScrollType; @@ -27,6 +26,7 @@ import com.intellij.openapi.editor.ex.DocumentEx; import com.intellij.openapi.editor.ex.EditorEx; import com.intellij.openapi.editor.markup.HighlighterLayer; import com.intellij.openapi.util.TextRange; +import com.intellij.psi.PsiDocumentManager; import com.intellij.psi.PsiElement; import com.intellij.psi.PsiNameIdentifierOwner; import com.intellij.psi.util.PsiTreeUtil; @@ -86,7 +86,7 @@ public class ProblemPreviewEditorPresentation { updateFoldings(); } - ApplicationManager.getApplication().invokeLater(() -> { + PsiDocumentManager.getInstance(myView.getProject()).performLaterWhenAllCommitted(() -> { if (!myEditor.isDisposed()) { myView.invalidate(); myView.validate(); diff --git a/platform/usageView/src/com/intellij/usages/impl/UsageContextPanelBase.java b/platform/usageView/src/com/intellij/usages/impl/UsageContextPanelBase.java index 2eb81a51ad6b..2dd983353f16 100644 --- a/platform/usageView/src/com/intellij/usages/impl/UsageContextPanelBase.java +++ b/platform/usageView/src/com/intellij/usages/impl/UsageContextPanelBase.java @@ -17,11 +17,11 @@ package com.intellij.usages.impl; import com.intellij.openapi.project.Project; +import com.intellij.psi.PsiDocumentManager; import com.intellij.ui.IdeBorderFactory; import com.intellij.usageView.UsageInfo; import com.intellij.usages.UsageContextPanel; import com.intellij.usages.UsageViewPresentation; -import com.intellij.util.ui.UIUtil; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -58,7 +58,7 @@ public abstract class UsageContextPanelBase extends JPanel implements UsageConte @Override public final void updateLayout(@Nullable final List infos) { - UIUtil.invokeLaterIfNeeded(() -> { + PsiDocumentManager.getInstance(myProject).performLaterWhenAllCommitted(() -> { if (isDisposed || myProject.isDisposed()) return; updateLayoutLater(infos); }); diff --git a/platform/usageView/src/com/intellij/usages/impl/UsagePreviewPanel.java b/platform/usageView/src/com/intellij/usages/impl/UsagePreviewPanel.java index c35f4f6723fb..30574086376b 100644 --- a/platform/usageView/src/com/intellij/usages/impl/UsagePreviewPanel.java +++ b/platform/usageView/src/com/intellij/usages/impl/UsagePreviewPanel.java @@ -126,7 +126,7 @@ public class UsagePreviewPanel extends UsageContextPanelBase { @NotNull final Project project, boolean highlightOnlyNameElements, int highlightLayer) { - PsiDocumentManager.getInstance(project).commitAllDocuments(); + LOG.assertTrue(!PsiDocumentManager.getInstance(project).hasUncommitedDocuments()); MarkupModel markupModel = editor.getMarkupModel(); for (RangeHighlighter highlighter : markupModel.getAllHighlighters()) {