diff options
Diffstat (limited to 'src/com/isode/stroke/network/TLSConnection.java')
-rw-r--r-- | src/com/isode/stroke/network/TLSConnection.java | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/src/com/isode/stroke/network/TLSConnection.java b/src/com/isode/stroke/network/TLSConnection.java index 16c6617..a67f20d 100644 --- a/src/com/isode/stroke/network/TLSConnection.java +++ b/src/com/isode/stroke/network/TLSConnection.java @@ -86,10 +86,18 @@ public class TLSConnection extends Connection { protected void finalize() throws Throwable { try { - onConnectFinishedConnection.disconnect(); - onDataReadConnection.disconnect(); - onDataWrittenConnection.disconnect(); - onDisconnectedConnection.disconnect(); + if (onConnectFinished != null) { + onConnectFinishedConnection.disconnect(); + } + if (onDataReadConnection != null) { + onDataReadConnection.disconnect(); + } + if (onDataWrittenConnection != null) { + onDataWrittenConnection.disconnect(); + } + if (onDisconnectedConnection != null) { + onDisconnectedConnection.disconnect(); + } } finally { super.finalize(); @@ -117,7 +125,9 @@ public class TLSConnection extends Connection { } private void handleRawConnectFinished(boolean error) { - onConnectFinishedConnection.disconnect(); + if (onConnectFinished != null) { + onConnectFinishedConnection.disconnect(); + } if (error) { onConnectFinished.emit(true); } |