From 27db0b86bdd8b0d2024a72c95c2c216d4cb3a083 Mon Sep 17 00:00:00 2001 From: Dmitry Gridin Date: Fri, 28 May 2021 11:12:34 +0700 Subject: [PATCH] [kotlin] fix exception from compiler settings page ^KTIJ-14274 Fixed GitOrigin-RevId: d3f56db0ad4c70e5064eb2d8363c2c76936ac939 --- .../configuration/KotlinCompilerConfigurableTab.java | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/plugins/kotlin/idea/src/org/jetbrains/kotlin/idea/compiler/configuration/KotlinCompilerConfigurableTab.java b/plugins/kotlin/idea/src/org/jetbrains/kotlin/idea/compiler/configuration/KotlinCompilerConfigurableTab.java index 4f20a6b273e7..a35e598e572e 100644 --- a/plugins/kotlin/idea/src/org/jetbrains/kotlin/idea/compiler/configuration/KotlinCompilerConfigurableTab.java +++ b/plugins/kotlin/idea/src/org/jetbrains/kotlin/idea/compiler/configuration/KotlinCompilerConfigurableTab.java @@ -15,7 +15,7 @@ import com.intellij.openapi.util.Disposer; import com.intellij.openapi.util.NlsContexts; import com.intellij.openapi.util.NlsSafe; import com.intellij.openapi.util.text.StringUtil; -import com.intellij.ui.CollectionComboBoxModel; +import com.intellij.ui.MutableCollectionComboBoxModel; import com.intellij.ui.RawCommandLineEditor; import com.intellij.ui.SimpleListCellRenderer; import com.intellij.util.text.VersionComparatorUtil; @@ -352,7 +352,7 @@ public class KotlinCompilerConfigurableTab implements SearchableConfigurable, Di version -> isLessOrEqual(version, upperBound) && !version.isUnsupported() ? new VersionView.Specific(version) : null ); - apiVersionComboBox.setModel(new CollectionComboBoxModel<>(permittedAPIVersions)); + apiVersionComboBox.setModel(new MutableCollectionComboBoxModel<>(permittedAPIVersions)); apiVersionComboBox.setSelectedItem( VersionComparatorUtil.compare(selectedAPIVersion.getVersionString(), upperBound.getVersionString()) <= 0 @@ -616,7 +616,7 @@ public class KotlinCompilerConfigurableTab implements SearchableConfigurable, Di private static void setSelectedItem(JComboBox comboBox, VersionView versionView) { // Imported projects might have outdated language/api versions - we display them as well (see createVersionValidator() for details) - int index = ((DefaultComboBoxModel) comboBox.getModel()).getIndexOf(versionView); + int index = ((MutableCollectionComboBoxModel) comboBox.getModel()).getElementIndex(versionView); if (index == -1) { comboBox.addItem(versionView); } @@ -739,9 +739,9 @@ public class KotlinCompilerConfigurableTab implements SearchableConfigurable, Di } private void createUIComponents() { - // Explicit use of DefaultComboBoxModel guarantees that setSelectedItem() can make safe cast. - languageVersionComboBox = new ComboBox<>(new DefaultComboBoxModel<>()); - apiVersionComboBox = new ComboBox<>(new DefaultComboBoxModel<>()); + // Explicit use of MutableCollectionComboBoxModel guarantees that setSelectedItem() can make safe cast. + languageVersionComboBox = new ComboBox<>(new MutableCollectionComboBoxModel<>()); + apiVersionComboBox = new ComboBox<>(new MutableCollectionComboBoxModel<>()); createVersionValidator(languageVersionComboBox, "configuration.warning.text.language.version.unsupported"); createVersionValidator(apiVersionComboBox, "configuration.warning.text.api.version.unsupported");