IDEA-227347 : make deep copy even fields are default to make reset working properly

GitOrigin-RevId: b11cb355a3ca2c162672a81bab8d6f8a8abec13d
This commit is contained in:
Roman.Ivanov
2019-11-22 06:36:34 +00:00
committed by intellij-monorepo-bot
parent b200a83702
commit 4e9f723467
@@ -7,6 +7,7 @@ import com.intellij.configurationStore.deserializeInto
import com.intellij.configurationStore.serialize
import com.intellij.openapi.editor.Editor
import com.intellij.psi.PsiFile
import com.intellij.util.xmlb.SerializationFilter
class NewInlayProviderSettingsModel<T : Any>(
private val providerWithSettings: ProviderWithSettings<T>,
@@ -52,7 +53,8 @@ class NewInlayProviderSettingsModel<T : Any>(
override fun reset() {
// Workaround for deep copy
val obj = providerWithSettings.provider.getActualSettings(config, providerWithSettings.language)
serialize(obj)?.deserializeInto(providerWithSettings.settings)
val element = serialize(obj, SerializationFilter { _, _ -> true })
element?.deserializeInto(providerWithSettings.settings)
providerWithSettings.configurable.reset()
isEnabled = config.hintsEnabled(providerWithSettings.provider.key, providerWithSettings.language)
}