diff --git a/designer-base/src/main/java/com/fr/design/actions/file/PreferencePane.java b/designer-base/src/main/java/com/fr/design/actions/file/PreferencePane.java index 84511d1eb4..92bece9f56 100644 --- a/designer-base/src/main/java/com/fr/design/actions/file/PreferencePane.java +++ b/designer-base/src/main/java/com/fr/design/actions/file/PreferencePane.java @@ -390,10 +390,25 @@ public class PreferencePane extends BasicPane { vcsPane.add(enableVcsPanel); vcsPane.add(intervalPanel); vcsPane.add(saveCommitCheckBox); - if (WorkContext.getCurrent().get(VcsOperator.class).isLegacyMode()) { - // 老版本时才显示gc选项 - vcsPane.add(gcControlPane); - } + new SwingWorker() { + @Override + protected Boolean doInBackground() throws Exception { + return WorkContext.getCurrent().get(VcsOperator.class).isLegacyMode(); + } + + @Override + protected void done() { + try { + if (Boolean.TRUE.equals(get())) { + // 老版本时才显示gc选项 + vcsPane.add(gcControlPane); + vcsPane.updateUI(); + } + } catch (Exception e) { + FineLoggerFactory.getLogger().error(e, "[Vcs] retrieve legacy mode error: {}", e.getMessage()); + } + } + }.execute(); } /**