From 2c2f8b97c9abbebb15fdde2c796a8bd09595dc5c Mon Sep 17 00:00:00 2001 From: peter Date: Mon, 25 Jun 2018 18:55:52 +0200 Subject: [PATCH] don't record undo for free-threaded document changes (EA-123049 - REWA: DocumentReferenceManagerImpl.create) --- .../com/intellij/openapi/command/impl/DocumentUndoProvider.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/platform/platform-impl/src/com/intellij/openapi/command/impl/DocumentUndoProvider.java b/platform/platform-impl/src/com/intellij/openapi/command/impl/DocumentUndoProvider.java index 7a6cc7018ebe..eec0d6328a3d 100644 --- a/platform/platform-impl/src/com/intellij/openapi/command/impl/DocumentUndoProvider.java +++ b/platform/platform-impl/src/com/intellij/openapi/command/impl/DocumentUndoProvider.java @@ -16,6 +16,7 @@ package com.intellij.openapi.command.impl; import com.intellij.openapi.Disposable; +import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.command.undo.DocumentReference; import com.intellij.openapi.command.undo.DocumentReferenceManager; import com.intellij.openapi.command.undo.UndoConstants; @@ -88,6 +89,7 @@ public class DocumentUndoProvider implements Disposable { private boolean shouldProcess(Document document) { if (myProject != null && myProject.isDisposed()) return false; + if (!ApplicationManager.getApplication().isDispatchThread()) return false; // some light document return !UndoManagerImpl.isCopy(document) // if we don't ignore copy's events, we will receive notification // for the same event twice (from original document too) // and undo will work incorrectly