diff --git a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/CreateClassFromNewFix.java b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/CreateClassFromNewFix.java index 748e096e5ede..d02b1100d9ea 100644 --- a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/CreateClassFromNewFix.java +++ b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/CreateClassFromNewFix.java @@ -23,6 +23,7 @@ import com.intellij.codeInsight.template.Template; import com.intellij.codeInsight.template.TemplateBuilderImpl; import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.application.Result; +import com.intellij.openapi.application.TransactionGuard; import com.intellij.openapi.command.CommandProcessor; import com.intellij.openapi.command.WriteCommandAction; import com.intellij.openapi.editor.Editor; @@ -54,11 +55,7 @@ public class CreateClassFromNewFix extends CreateFromUsageBaseFix { assert ApplicationManager.getApplication().isWriteAccessAllowed(); final Project project = targetClass.getProject(); - ApplicationManager.getApplication().invokeLater(() -> { - if (project.isDisposed()) { - return; - } - + TransactionGuard.getInstance().submitTransactionLater(project, () -> { PsiDocumentManager.getInstance(project).commitAllDocuments(); final PsiNewExpression newExpression = getNewExpression(); diff --git a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/CreateParameterFromUsageFix.java b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/CreateParameterFromUsageFix.java index d15a83bb4080..548275c98828 100644 --- a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/CreateParameterFromUsageFix.java +++ b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/CreateParameterFromUsageFix.java @@ -19,6 +19,7 @@ import com.intellij.codeInsight.daemon.QuickFixBundle; import com.intellij.ide.util.SuperMethodWarningUtil; import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.application.Result; +import com.intellij.openapi.application.TransactionGuard; import com.intellij.openapi.command.WriteCommandAction; import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.project.Project; @@ -69,7 +70,7 @@ public class CreateParameterFromUsageFix extends CreateVarFromUsageFix { @Override protected void invokeImpl(PsiClass targetClass) { - ApplicationManager.getApplication().invokeLater(() -> { + TransactionGuard.getInstance().submitTransactionLater(targetClass.getProject(), () -> { if (!myReferenceExpression.isValid()) return; if (CreateFromUsageUtils.isValidReference(myReferenceExpression, false)) return; @@ -136,7 +137,7 @@ public class CreateParameterFromUsageFix extends CreateVarFromUsageFix { throw new RuntimeException(e); } } - }, targetClass.getProject().getDisposed()); + }); } @Override