AddFieldBreakpointDialog: show member chooser in a transaction (EA-93087 - assert: MemberChooser.show)

This commit is contained in:
peter
2017-02-21 18:00:25 +01:00
parent f745e60c3b
commit a7de2efe3f
@@ -26,6 +26,7 @@ import com.intellij.debugger.DebuggerBundle;
import com.intellij.ide.util.MemberChooser;
import com.intellij.ide.util.TreeClassChooser;
import com.intellij.ide.util.TreeClassChooserFactory;
import com.intellij.openapi.application.TransactionGuard;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.ui.DialogWrapper;
import com.intellij.openapi.ui.TextFieldWithBrowseButton;
@@ -91,7 +92,7 @@ public abstract class AddFieldBreakpointDialog extends DialogWrapper {
new MemberChooser<>(ContainerUtil.map2Array(fields, PsiFieldMember.class, PsiFieldMember::new), false, false, myProject);
chooser.setTitle(DebuggerBundle.message("add.field.breakpoint.dialog.field.chooser.title", fields.length));
chooser.setCopyJavadocVisible(false);
chooser.show();
TransactionGuard.getInstance().submitTransactionAndWait(() -> chooser.show());
List<PsiFieldMember> selectedElements = chooser.getSelectedElements();
if (selectedElements != null && selectedElements.size() == 1) {
PsiField field = selectedElements.get(0).getElement();