Enumerate roots for script definitions only if project is initialized
fixes #KT-23805
This commit is contained in:
@@ -36,16 +36,18 @@ class ScriptTemplatesFromDependenciesProvider(private val project: Project) : Sc
|
|||||||
val connection = project.messageBus.connect()
|
val connection = project.messageBus.connect()
|
||||||
connection.subscribe(ProjectTopics.PROJECT_ROOTS, object : ModuleRootListener {
|
connection.subscribe(ProjectTopics.PROJECT_ROOTS, object : ModuleRootListener {
|
||||||
override fun rootsChanged(event: ModuleRootEvent?) {
|
override fun rootsChanged(event: ModuleRootEvent?) {
|
||||||
var templatesChanged = false
|
if (project.isInitialized) {
|
||||||
lock.read {
|
var templatesChanged = false
|
||||||
val newTemplates = getScriptTemplates()
|
lock.read {
|
||||||
if (newTemplates != templates) lock.write {
|
val newTemplates = getScriptTemplates()
|
||||||
templates = newTemplates
|
if (newTemplates != templates) lock.write {
|
||||||
templatesChanged = true
|
templates = newTemplates
|
||||||
|
templatesChanged = true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (templatesChanged) {
|
||||||
|
ScriptDefinitionsManager.getInstance(project).reloadDefinitionsBy(this@ScriptTemplatesFromDependenciesProvider)
|
||||||
}
|
}
|
||||||
}
|
|
||||||
if (templatesChanged) {
|
|
||||||
ScriptDefinitionsManager.getInstance(project).reloadDefinitionsBy(this@ScriptTemplatesFromDependenciesProvider)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|||||||
Reference in New Issue
Block a user