diff --git a/idea/idea-core/src/org/jetbrains/kotlin/idea/core/script/ScriptClassRootsManager.kt b/idea/idea-core/src/org/jetbrains/kotlin/idea/core/script/ScriptClassRootsManager.kt index 57a62c9496c..6e5c2e8c9c6 100644 --- a/idea/idea-core/src/org/jetbrains/kotlin/idea/core/script/ScriptClassRootsManager.kt +++ b/idea/idea-core/src/org/jetbrains/kotlin/idea/core/script/ScriptClassRootsManager.kt @@ -38,7 +38,7 @@ internal class ScriptClassRootsManager(val project: Project) { } private fun checkInTransaction() { - check(concurrentTransactions.get() > 0) + check(concurrentTransactions.get() > 0) { "Transaction is not started" } } inline fun transaction(body: () -> Unit) { diff --git a/idea/idea-core/src/org/jetbrains/kotlin/idea/core/script/ScriptConfigurationManagerImpl.kt b/idea/idea-core/src/org/jetbrains/kotlin/idea/core/script/ScriptConfigurationManagerImpl.kt index ea768d4bce4..28cd106243f 100644 --- a/idea/idea-core/src/org/jetbrains/kotlin/idea/core/script/ScriptConfigurationManagerImpl.kt +++ b/idea/idea-core/src/org/jetbrains/kotlin/idea/core/script/ScriptConfigurationManagerImpl.kt @@ -236,7 +236,9 @@ class ScriptConfigurationManagerImpl internal constructor(private val project: P if (oldConfiguration != null) { file.removeScriptDependenciesNotificationPanel(project) } - saveChangedConfiguration(file, newConfiguration, skipSaveToAttributes) + rootsManager.transaction { + saveChangedConfiguration(file, newConfiguration, skipSaveToAttributes) + } } else { debug(file) { "configuration changed, notification is shown: old = $oldConfiguration, new = $newConfiguration"