Enumerate roots for script definitions only if project is initialized

fixes #KT-23805
This commit is contained in:
Ilya Chernikov
2018-05-14 14:22:26 +02:00
parent 4b949ef303
commit b2bda5c017
@@ -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)
}
}
})