Use AutoCloseable for structs named Locked*
[ldk-java] / src / main / java / org / ldk / structs / ChainMonitor.java
index 24ed59fdee1ff759e3433b76fe87c1da8f68647b..94e0f36ee503c469528beb311eb344fd59edefc6 100644 (file)
@@ -7,7 +7,8 @@ public class ChainMonitor extends CommonBase {
        ChainMonitor(Object _dummy, long ptr) { super(ptr); }
        @Override @SuppressWarnings("deprecation")
        protected void finalize() throws Throwable {
-               bindings.ChainMonitor_free(ptr); super.finalize();
+               super.finalize();
+               bindings.ChainMonitor_free(ptr);
        }
 
        // Skipped ChainMonitor_block_connected
@@ -16,7 +17,7 @@ public class ChainMonitor extends CommonBase {
        }
 
        public ChainMonitor(Filter chain_source, BroadcasterInterface broadcaster, Logger logger, FeeEstimator feeest) {
-               super(bindings.ChainMonitor_new(chain_source.ptr, broadcaster.ptr, logger.ptr, feeest.ptr));
+               super(bindings.ChainMonitor_new(chain_source == null ? 0 : chain_source.ptr, broadcaster == null ? 0 : broadcaster.ptr, logger == null ? 0 : logger.ptr, feeest == null ? 0 : feeest.ptr));
                this.ptrs_to.add(chain_source);
                this.ptrs_to.add(broadcaster);
                this.ptrs_to.add(logger);