diff --git a/lib/src/main/java/de/kuschku/libquassel/connection/CoreConnection.kt b/lib/src/main/java/de/kuschku/libquassel/connection/CoreConnection.kt index fd70f1edb879c70b2ba65e5a3f279e67e030dbd8..8d42465c81b8a637dfd78017a0e4111ca729292d 100644 --- a/lib/src/main/java/de/kuschku/libquassel/connection/CoreConnection.kt +++ b/lib/src/main/java/de/kuschku/libquassel/connection/CoreConnection.kt @@ -229,6 +229,8 @@ class CoreConnection( } channel?.close() } catch (e: Throwable) { + val closed = state.value == ConnectionState.CLOSED + var cause: Throwable? = e var exception: QuasselSecurityException? do { @@ -239,10 +241,12 @@ class CoreConnection( close() securityExceptionCallback(exception) } else { - log(WARN, TAG, "Error encountered in connection", e) - log(WARN, TAG, "Last sent message: ${MessageRunnable.lastSent.get()}") + if (!closed) { + log(WARN, TAG, "Error encountered in connection", e) + log(WARN, TAG, "Last sent message: ${MessageRunnable.lastSent.get()}") + exceptionCallback(e) + } close() - exceptionCallback(e) } } }