Skip to content

Commit 2a440ac

Browse files
authored
Fix IllegalArgumentException (#49)
1 parent 648031d commit 2a440ac

1 file changed

Lines changed: 11 additions & 1 deletion

File tree

src/main/kotlin/no/spk/fiskeoye/plugin/settings/FiskeoyeState.kt

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import com.intellij.openapi.application.ApplicationManager
44
import com.intellij.openapi.components.PersistentStateComponent
55
import com.intellij.openapi.components.State
66
import com.intellij.openapi.components.Storage
7+
import com.intellij.openapi.diagnostic.Logger
78
import com.intellij.util.xmlb.XmlSerializerUtil
89
import no.spk.fiskeoye.plugin.enum.FontStyle
910

@@ -13,6 +14,8 @@ import no.spk.fiskeoye.plugin.enum.FontStyle
1314
)
1415
internal class FiskeoyeState : PersistentStateComponent<FiskeoyeState> {
1516

17+
private val logger: Logger = Logger.getInstance(FiskeoyeState::class.java)
18+
1619
// Appearance
1720
internal var fontName: String = "Jetbrains Mono"
1821
internal var fontStyle: FontStyle = FontStyle.PLAIN
@@ -23,7 +26,14 @@ internal class FiskeoyeState : PersistentStateComponent<FiskeoyeState> {
2326
internal var truncSize: Int = 3000
2427
internal var codeLength: Int = 400
2528

26-
override fun getState(): FiskeoyeState = ApplicationManager.getApplication().getService(FiskeoyeState::class.java) ?: this
29+
override fun getState(): FiskeoyeState {
30+
return try {
31+
ApplicationManager.getApplication().getService(FiskeoyeState::class.java)
32+
} catch (ex: Exception) {
33+
logger.warn(ex.message, ex)
34+
this
35+
}
36+
}
2737

2838
override fun loadState(state: FiskeoyeState) = XmlSerializerUtil.copyBean(state, this)
2939

0 commit comments

Comments
 (0)