Dev: fix DeleteLocalRef in JNIStorageObject

This commit is contained in:
Andrew Druk 2019-04-16 19:45:04 +03:00
parent 86d270a328
commit ae7ca8ab2e
1 changed files with 10 additions and 2 deletions

View File

@ -45,7 +45,13 @@ indirect enum JNIStorageType {
class JNIStorageObject {
let type: JNIStorageType
var javaObject: jobject!
var javaObject: jobject! {
didSet {
if let value = oldValue {
JNI.api.DeleteLocalRef(JNI.env, value)
}
}
}
init(type: JNIStorageType, javaObject: jobject) {
self.type = type
@ -57,7 +63,9 @@ class JNIStorageObject {
}
deinit {
JNI.api.DeleteLocalRef(JNI.env, javaObject)
if let value = javaObject {
JNI.api.DeleteLocalRef(JNI.env, value)
}
}
}