diff --git a/src/utils/WebsocketClient.cpp b/src/utils/WebsocketClient.cpp index 948954a4..2b795a73 100644 --- a/src/utils/WebsocketClient.cpp +++ b/src/utils/WebsocketClient.cpp @@ -117,3 +117,9 @@ void WebsocketClient::onbinaryMessageReceived(const QByteArray &message) { emit WSMessage(object); } + +WebsocketClient::~WebsocketClient() { + // webSocket may fire QWebSocket::disconnected after WebsocketClient is destroyed + // explicitly disconnect to prevent crash + webSocket.disconnect(); +} \ No newline at end of file diff --git a/src/utils/WebsocketClient.h b/src/utils/WebsocketClient.h index ca53be60..1563f448 100644 --- a/src/utils/WebsocketClient.h +++ b/src/utils/WebsocketClient.h @@ -15,6 +15,7 @@ class WebsocketClient : public QObject { public: explicit WebsocketClient(QObject *parent = nullptr); + ~WebsocketClient() override; void start(); void restart(); void stop();