[KTIJ-145] Memory leak detected

This commit is contained in:
Andrei Klunnyi
2020-09-28 13:30:13 +02:00
parent 819e83b68b
commit 79e5177126
@@ -6,6 +6,7 @@
package org.jetbrains.kotlin.idea.compiler.configuration; package org.jetbrains.kotlin.idea.compiler.configuration;
import com.intellij.icons.AllIcons; import com.intellij.icons.AllIcons;
import com.intellij.openapi.Disposable;
import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.fileChooser.FileChooserDescriptor; import com.intellij.openapi.fileChooser.FileChooserDescriptor;
import com.intellij.openapi.module.ModuleManager; import com.intellij.openapi.module.ModuleManager;
@@ -59,6 +60,8 @@ public class KotlinCompilerConfigurableTab implements SearchableConfigurable {
); );
private static final int MAX_WARNING_SIZE = 75; private static final int MAX_WARNING_SIZE = 75;
private static final Disposable validatorsDisposable = Disposer.newDisposable();
static { static {
moduleKindDescriptions.put(K2JsArgumentConstants.MODULE_PLAIN, KotlinBundle.message("configuration.description.plain.put.to.global.scope")); moduleKindDescriptions.put(K2JsArgumentConstants.MODULE_PLAIN, KotlinBundle.message("configuration.description.plain.put.to.global.scope"));
moduleKindDescriptions.put(K2JsArgumentConstants.MODULE_AMD, KotlinBundle.message("configuration.description.amd")); moduleKindDescriptions.put(K2JsArgumentConstants.MODULE_AMD, KotlinBundle.message("configuration.description.amd"));
@@ -759,7 +762,7 @@ public class KotlinCompilerConfigurableTab implements SearchableConfigurable {
} }
private static void createVersionValidator(JComboBox<VersionView> component, String messageKey) { private static void createVersionValidator(JComboBox<VersionView> component, String messageKey) {
new ComponentValidator(Disposer.newDisposable()) new ComponentValidator(validatorsDisposable)
.withValidator(() -> { .withValidator(() -> {
VersionView selectedItem = (VersionView) component.getSelectedItem(); VersionView selectedItem = (VersionView) component.getSelectedItem();
if (selectedItem == null) return null; if (selectedItem == null) return null;