create from usage intentions: show dialogs in transactions (EA-98249 - assert: RefactoringDialog.show)

This commit is contained in:
peter
2017-03-04 11:10:02 +01:00
parent 027f5706cb
commit 6cad2fe22c
2 changed files with 5 additions and 7 deletions
@@ -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();
@@ -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