mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
Get rid of Editor leaks in CodeStyleSettings (IDEA-95395) [CR-IC-6178]
This commit is contained in:
+21
-19
@@ -346,34 +346,31 @@ public class CodeStyleSchemesConfigurable extends SearchableConfigurable.Parent.
|
||||
String displayName = myProvider.getConfigurableDisplayName();
|
||||
if (displayName != null) return displayName;
|
||||
|
||||
return ensurePanel().getDisplayName(); // fallback for 8.0 API compatibility
|
||||
return myPanel != null ? myPanel.getDisplayName() : null; // fallback for 8.0 API compatibility
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getHelpTopic() {
|
||||
return ensurePanel().getHelpTopic();
|
||||
}
|
||||
|
||||
private CodeStyleMainPanel ensurePanel() {
|
||||
if (myPanel == null) {
|
||||
myPanel = new CodeStyleMainPanel(ensureModel(), myLangSelector, myFactory);
|
||||
}
|
||||
return myPanel;
|
||||
return myPanel != null ? myPanel.getHelpTopic() : null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public JComponent createComponent() {
|
||||
return ensurePanel();
|
||||
myPanel = new CodeStyleMainPanel(ensureModel(), myLangSelector, myFactory);
|
||||
return myPanel;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isModified() {
|
||||
boolean someSchemeModified = ensurePanel().isModified();
|
||||
if (someSchemeModified) {
|
||||
myApplyCompleted = false;
|
||||
myRevertCompleted = false;
|
||||
if (myPanel != null) {
|
||||
boolean someSchemeModified = myPanel.isModified();
|
||||
if (someSchemeModified) {
|
||||
myApplyCompleted = false;
|
||||
myRevertCompleted = false;
|
||||
}
|
||||
return someSchemeModified;
|
||||
}
|
||||
return someSchemeModified;
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -428,20 +425,25 @@ public class CodeStyleSchemesConfigurable extends SearchableConfigurable.Parent.
|
||||
}
|
||||
|
||||
public boolean isPanelModified(CodeStyleScheme scheme) {
|
||||
return ensurePanel().isModified(scheme);
|
||||
return myPanel != null && myPanel.isModified(scheme);
|
||||
}
|
||||
|
||||
public boolean isPanelModified() {
|
||||
return ensurePanel().isModified();
|
||||
return myPanel != null && myPanel.isModified();
|
||||
}
|
||||
|
||||
public void applyPanel() throws ConfigurationException {
|
||||
ensurePanel().apply();
|
||||
if (myPanel != null) {
|
||||
myPanel.apply();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Set<String> processListOptions() {
|
||||
return ensurePanel().processListOptions();
|
||||
if (myPanel == null) {
|
||||
myPanel = new CodeStyleMainPanel(ensureModel(), myLangSelector, myFactory);
|
||||
}
|
||||
return myPanel.processListOptions();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user