mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
create from usage intentions: show dialogs in transactions (EA-98249 - assert: RefactoringDialog.show)
This commit is contained in:
+2
-5
@@ -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();
|
||||
|
||||
+3
-2
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user