diff --git a/java/impl/org/linphone/core/LpConfigImpl.java b/java/impl/org/linphone/core/LpConfigImpl.java index 27bd63d13..208519955 100644 --- a/java/impl/org/linphone/core/LpConfigImpl.java +++ b/java/impl/org/linphone/core/LpConfigImpl.java @@ -23,6 +23,7 @@ package org.linphone.core; class LpConfigImpl implements LpConfig { private final long nativePtr; + boolean ownPtr = false; public LpConfigImpl(long ptr) { nativePtr=ptr; @@ -32,9 +33,12 @@ class LpConfigImpl implements LpConfig { private native void delete(long ptr); public LpConfigImpl(String file) { nativePtr = newLpConfigImpl(file); + ownPtr = true; } protected void finalize() throws Throwable { - delete(nativePtr); + if(ownPtr) { + delete(nativePtr); + } } private native void setInt(long ptr, String section, String key, int value);