Browse Source

REPORT-144798 fix:远程连接失败UI死锁问题修复

fbp/release
Levy.Xie-解安森 5 months ago
parent
commit
1655dfd6af
  1. 49
      designer-base/src/main/java/com/fr/design/EnvChangeEntrance.java

49
designer-base/src/main/java/com/fr/design/EnvChangeEntrance.java

@ -22,6 +22,7 @@ import com.fr.design.mainframe.JTemplate;
import com.fr.design.mainframe.manager.clip.TemplateTreeClipboard; import com.fr.design.mainframe.manager.clip.TemplateTreeClipboard;
import com.fr.design.notification.NotificationCenter; import com.fr.design.notification.NotificationCenter;
import com.fr.design.plugin.remind.PluginErrorDesignReminder; import com.fr.design.plugin.remind.PluginErrorDesignReminder;
import com.fr.design.ui.util.UIUtil;
import com.fr.design.utils.DesignUtils; import com.fr.design.utils.DesignUtils;
import com.fr.design.versioncheck.VersionCheckUtils; import com.fr.design.versioncheck.VersionCheckUtils;
import com.fr.env.EnvListPane; import com.fr.env.EnvListPane;
@ -551,35 +552,37 @@ public class EnvChangeEntrance {
if (eventPipe != null) { if (eventPipe != null) {
eventPipe.fire(new CarryMessageEvent(ReportState.STOP.getValue())); eventPipe.fire(new CarryMessageEvent(ReportState.STOP.getValue()));
} }
final EnvListPane envListPane = new EnvListPane(); UIUtil.invokeLaterIfNeeded(() -> {
envListPane.populateEnvManager(DesignerEnvManager.getEnvManager().getCurEnvName()); final EnvListPane envListPane = new EnvListPane();
BasicDialog envListDialog = envListPane.showWindow(SwingUtilities.getWindowAncestor(DesignerContext.getDesignerFrame())); envListPane.populateEnvManager(DesignerEnvManager.getEnvManager().getCurEnvName());
dialog = envListDialog; BasicDialog envListDialog = envListPane.showWindow(SwingUtilities.getWindowAncestor(DesignerContext.getDesignerFrame()));
envListDialog.addDialogActionListener(new DialogActionAdapter() { dialog = envListDialog;
envListDialog.addDialogActionListener(new DialogActionAdapter() {
@Override @Override
public void doOk() { public void doOk() {
FineProcessContext.getParentPipe().fire(new CarryMessageEvent(ReportState.ACTIVE.getValue())); FineProcessContext.getParentPipe().fire(new CarryMessageEvent(ReportState.ACTIVE.getValue()));
if (!envListOkAction(envListPane, PopTipStrategy.NOW)) { if (!envListOkAction(envListPane, PopTipStrategy.NOW)) {
DesignerExiter.getInstance().execute(); DesignerExiter.getInstance().execute();
} else { } else {
updateNotRememberPwdEnv(); updateNotRememberPwdEnv();
if (DesignerContext.getDesignerFrame().isVisible()) { if (DesignerContext.getDesignerFrame().isVisible()) {
VersionCheckUtils.showVersionCheckDialog(envListPane.getSelectedName()); VersionCheckUtils.showVersionCheckDialog(envListPane.getSelectedName());
}
} }
} }
}
@Override @Override
public void doCancel() { public void doCancel() {
dialog = null; dialog = null;
DesignerExiter.getInstance().execute(); DesignerExiter.getInstance().execute();
}
});
if (e != null) {
WorkspaceExceptionHandler.getInstance().handleInStart(e, workspaceInfo);
} }
envListDialog.setVisible(true);
}); });
if (e != null) {
WorkspaceExceptionHandler.getInstance().handleInStart(e, workspaceInfo);
}
envListDialog.setVisible(true);
} }
/** /**

Loading…
Cancel
Save