summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/isode/stroke/network/TLSConnection.java')
-rw-r--r--src/com/isode/stroke/network/TLSConnection.java20
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);
}