From efda5175035902309eba5b8c2a35561942466d69 Mon Sep 17 00:00:00 2001 From: tobtoht Date: Fri, 11 Mar 2022 16:03:06 +0100 Subject: [PATCH] WebsocketClient: fix potential crash --- src/utils/WebsocketClient.cpp | 6 ++++++ src/utils/WebsocketClient.h | 1 + 2 files changed, 7 insertions(+) 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(); -- 2.52.0