From 07cf9e05ae046a387c41b856feaba844d9ed8345 Mon Sep 17 00:00:00 2001 From: Michael Zanetti Date: Wed, 22 Jan 2020 23:43:07 +0100 Subject: [PATCH] Fix crash when removing a connected transport interface --- libnymea-core/jsonrpc/jsonrpcserverimplementation.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/libnymea-core/jsonrpc/jsonrpcserverimplementation.cpp b/libnymea-core/jsonrpc/jsonrpcserverimplementation.cpp index 8aded8dc..83e3b1c9 100644 --- a/libnymea-core/jsonrpc/jsonrpcserverimplementation.cpp +++ b/libnymea-core/jsonrpc/jsonrpcserverimplementation.cpp @@ -452,6 +452,10 @@ void JsonRPCServerImplementation::unregisterTransportInterface(TransportInterfac disconnect(interface, &TransportInterface::clientConnected, this, &JsonRPCServerImplementation::clientConnected); disconnect(interface, &TransportInterface::clientDisconnected, this, &JsonRPCServerImplementation::clientDisconnected); disconnect(interface, &TransportInterface::dataAvailable, this, &JsonRPCServerImplementation::processData); + foreach (const QUuid &clientId, m_clientTransports.keys(interface)) { + interface->terminateClientConnection(clientId); + clientDisconnected(clientId); + } m_interfaces.take(interface); }