From 6835e5dd6f1c468aabd9fd9be755c442b6d00fbf Mon Sep 17 00:00:00 2001 From: Natalia Selezneva Date: Thu, 12 Jul 2018 15:32:48 +0300 Subject: [PATCH] Wraps syncPublisher() call in KotlinCompilerSettings in a dispose check Fix ConfigureKotlinTest --- .../configuration/BaseKotlinCompilerSettings.kt | 10 +++------- .../configuration/BaseKotlinCompilerSettings.kt.182 | 8 ++------ 2 files changed, 5 insertions(+), 13 deletions(-) diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/compiler/configuration/BaseKotlinCompilerSettings.kt b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/compiler/configuration/BaseKotlinCompilerSettings.kt index 8a78f749994..41a3f10646f 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/compiler/configuration/BaseKotlinCompilerSettings.kt +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/compiler/configuration/BaseKotlinCompilerSettings.kt @@ -16,9 +16,9 @@ package org.jetbrains.kotlin.idea.compiler.configuration -import com.intellij.openapi.application.ApplicationManager import com.intellij.openapi.components.PersistentStateComponent import com.intellij.openapi.components.StoragePathMacros.PROJECT_CONFIG_DIR +import com.intellij.openapi.progress.util.BackgroundTaskUtil import com.intellij.openapi.project.Project import com.intellij.util.ReflectionUtil import com.intellij.util.messages.Topic @@ -42,9 +42,7 @@ abstract class BaseKotlinCompilerSettings protected constructor(p validateNewSettings(value) _settings = value - ApplicationManager.getApplication().invokeLater { - project.messageBus.syncPublisher(KotlinCompilerSettingsListener.TOPIC).settingsChanged(value) - } + BackgroundTaskUtil.syncPublisher(project, KotlinCompilerSettingsListener.TOPIC).settingsChanged(value) } fun update(changer: T.() -> Unit) { @@ -78,9 +76,7 @@ abstract class BaseKotlinCompilerSettings protected constructor(p XmlSerializer.deserializeInto(this, state) } - ApplicationManager.getApplication().invokeLater { - project.messageBus.syncPublisher(KotlinCompilerSettingsListener.TOPIC).settingsChanged(settings) - } + BackgroundTaskUtil.syncPublisher(project, KotlinCompilerSettingsListener.TOPIC).settingsChanged(settings) } public override fun clone(): Any = super.clone() diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/compiler/configuration/BaseKotlinCompilerSettings.kt.182 b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/compiler/configuration/BaseKotlinCompilerSettings.kt.182 index bfa5dcc4941..24bb2039cf0 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/compiler/configuration/BaseKotlinCompilerSettings.kt.182 +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/compiler/configuration/BaseKotlinCompilerSettings.kt.182 @@ -40,9 +40,7 @@ abstract class BaseKotlinCompilerSettings protected constructor(p validateNewSettings(value) _settings = value - ApplicationManager.getApplication().invokeLater { - project.messageBus.syncPublisher(KotlinCompilerSettingsListener.TOPIC).settingsChanged(value) - } + BackgroundTaskUtil.syncPublisher(project, KotlinCompilerSettingsListener.TOPIC).settingsChanged(value) } fun update(changer: T.() -> Unit) { @@ -76,9 +74,7 @@ abstract class BaseKotlinCompilerSettings protected constructor(p XmlSerializer.deserializeInto(this, state) } - ApplicationManager.getApplication().invokeLater { - project.messageBus.syncPublisher(KotlinCompilerSettingsListener.TOPIC).settingsChanged(settings) - } + BackgroundTaskUtil.syncPublisher(project, KotlinCompilerSettingsListener.TOPIC).settingsChanged(settings) } public override fun clone(): Any = super.clone()