From b2bda5c017f0d9f32dd3006f5c0b1f71938a5d06 Mon Sep 17 00:00:00 2001 From: Ilya Chernikov Date: Mon, 14 May 2018 14:22:26 +0200 Subject: [PATCH] Enumerate roots for script definitions only if project is initialized fixes #KT-23805 --- .../scriptsTemplatesFromDependencies.kt | 20 ++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/idea/src/org/jetbrains/kotlin/idea/script/scriptsTemplatesFromDependencies.kt b/idea/src/org/jetbrains/kotlin/idea/script/scriptsTemplatesFromDependencies.kt index 42a01a52b24..73e23cd4927 100644 --- a/idea/src/org/jetbrains/kotlin/idea/script/scriptsTemplatesFromDependencies.kt +++ b/idea/src/org/jetbrains/kotlin/idea/script/scriptsTemplatesFromDependencies.kt @@ -36,16 +36,18 @@ class ScriptTemplatesFromDependenciesProvider(private val project: Project) : Sc val connection = project.messageBus.connect() connection.subscribe(ProjectTopics.PROJECT_ROOTS, object : ModuleRootListener { override fun rootsChanged(event: ModuleRootEvent?) { - var templatesChanged = false - lock.read { - val newTemplates = getScriptTemplates() - if (newTemplates != templates) lock.write { - templates = newTemplates - templatesChanged = true + if (project.isInitialized) { + var templatesChanged = false + lock.read { + val newTemplates = getScriptTemplates() + if (newTemplates != templates) lock.write { + templates = newTemplates + templatesChanged = true + } + } + if (templatesChanged) { + ScriptDefinitionsManager.getInstance(project).reloadDefinitionsBy(this@ScriptTemplatesFromDependenciesProvider) } - } - if (templatesChanged) { - ScriptDefinitionsManager.getInstance(project).reloadDefinitionsBy(this@ScriptTemplatesFromDependenciesProvider) } } })