mirror of
https://gitee.com/zhangsken/AndroidIDE.git
synced 2026-10-16 07:49:44 +08:00
fix(editor): ensure JsonReaders are always closed when reading color schemes
This commit is contained in:
@@ -30,8 +30,11 @@ fun IDEColorScheme.parseEditorScheme(reader: JsonReader, resolveFileRef: (String
|
||||
val newReader = if (reader.peek() == STRING) {
|
||||
readerForFileRef(reader, "editor", resolveFileRef)
|
||||
} else reader
|
||||
EditorSchemeParser(newReader).parse(this).also {
|
||||
if (reader != newReader) {
|
||||
|
||||
try {
|
||||
EditorSchemeParser(newReader).parse(this)
|
||||
} finally {
|
||||
if (reader !== newReader) {
|
||||
newReader.close()
|
||||
}
|
||||
}
|
||||
@@ -93,8 +96,10 @@ fun IDEColorScheme.parseLanguage(
|
||||
readerForFileRef(reader, "language", resolveFileRef)
|
||||
} else reader
|
||||
|
||||
return LanguageParser(newReader).parseLang(this).also {
|
||||
if (reader != newReader) {
|
||||
return try {
|
||||
LanguageParser(newReader).parseLang(this)
|
||||
} finally {
|
||||
if (reader !== newReader) {
|
||||
newReader.close()
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user