From 768fce4722bd017bb9566e54c0b14ea36f760106 Mon Sep 17 00:00:00 2001 From: Dmitry Jemerov Date: Thu, 28 Dec 2017 12:03:30 +0100 Subject: [PATCH] Check for project disposed when reporting outdated libraries EA-106858 - assert: ComponentManagerImpl.getPicoContainer --- .../kotlin/idea/versions/OutdatedKotlinRuntimeChecker.kt | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/idea/idea-jvm/src/org/jetbrains/kotlin/idea/versions/OutdatedKotlinRuntimeChecker.kt b/idea/idea-jvm/src/org/jetbrains/kotlin/idea/versions/OutdatedKotlinRuntimeChecker.kt index 0bacd1049f5..75d41bcb7c3 100644 --- a/idea/idea-jvm/src/org/jetbrains/kotlin/idea/versions/OutdatedKotlinRuntimeChecker.kt +++ b/idea/idea-jvm/src/org/jetbrains/kotlin/idea/versions/OutdatedKotlinRuntimeChecker.kt @@ -39,6 +39,7 @@ data class VersionedLibrary(val library: Library, val version: String?, val used fun findOutdatedKotlinLibraries(project: Project): List { val pluginVersion = KotlinPluginUtil.getPluginVersion() if (KotlinPluginUtil.isSnapshotVersion()) return emptyList() // plugin is run from sources, can't compare versions + if (project.isDisposed) return emptyList() // user already clicked suppress if (pluginVersion == PropertiesComponent.getInstance(project).getValue(SUPPRESSED_PROPERTY_NAME)) { @@ -118,7 +119,9 @@ fun notifyOutdatedKotlinRuntime(project: Project, outdatedLibraries: Collection< } } "ignore" == event.description -> { - PropertiesComponent.getInstance(project).setValue(SUPPRESSED_PROPERTY_NAME, pluginVersion) + if (!project.isDisposed) { + PropertiesComponent.getInstance(project).setValue(SUPPRESSED_PROPERTY_NAME, pluginVersion) + } } else -> { throw AssertionError()