From b74d1e32a2e6657308b31e5911fa2d806e34a449 Mon Sep 17 00:00:00 2001 From: Manfred Karrer Date: Mon, 23 Mar 2015 10:29:47 +0100 Subject: [PATCH] Add readObject method to initialise listeners object which would be null in case the confidence object gets created from Serialisation --- .../java/org/bitcoinj/core/TransactionConfidence.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/core/src/main/java/org/bitcoinj/core/TransactionConfidence.java b/core/src/main/java/org/bitcoinj/core/TransactionConfidence.java index b369783f..133a5740 100644 --- a/core/src/main/java/org/bitcoinj/core/TransactionConfidence.java +++ b/core/src/main/java/org/bitcoinj/core/TransactionConfidence.java @@ -140,6 +140,14 @@ public class TransactionConfidence implements Serializable { this.hash = hash; } + /** + * In case the class gets created from a serialised version, we need to recreate the listeners object as it is set as transient and only created in the constructor. + */ + private void readObject(java.io.ObjectInputStream in) throws IOException, ClassNotFoundException { + in.defaultReadObject(); + listeners = new CopyOnWriteArrayList>(); + } + /** *

A confidence listener is informed when the level of {@link TransactionConfidence} is updated by something, like * for example a {@link Wallet}. You can add listeners to update your user interface or manage your order tracking