Wrap freeDialogs call inside a finally block

For instance, LocalDateTime.parse could fail,
and then the dialogs would be leaked.
This commit is contained in:
Lonami Exo 2022-10-23 20:27:15 +02:00
parent 442b019134
commit 07d0e5e505
1 changed files with 25 additions and 22 deletions

View File

@ -16,6 +16,7 @@ class NativeDialogRepository : DialogRepository {
val dialogs = mutableListOf<Dialog>()
val dialogPtr = Native.getDialogs()
try {
val dialogCount = Native.dialogCount(dialogPtr)
for (i in 0 until dialogCount) {
dialogs.add(
@ -40,7 +41,9 @@ class NativeDialogRepository : DialogRepository {
)
)
}
} finally {
Native.freeDialogs(dialogPtr)
}
return dialogs
}