[network/kdeconnect-kde/release/26.08] core/backends/lan: Reimplement deleteLater but checking that the socket wasn't updated

Albert Vaca Cintora <[email protected]>
Newsgroups gmane.comp.kde.cvs
Message-ID <[email protected]>
Git commit 8565bb951a9398fac42d629556f3267da4da2f96 by Albert Vaca Cintora.
Committed on 15/08/2026 at 11:10.
Pushed by albertvaka into branch 'release/26.08'.

Reimplement deleteLater but checking that the socket wasn't updated

(cherry picked from commit 1444ac40773c26801b1d152709a9ddcb1bfddae6)

M  +10   -2    core/backends/lan/landevicelink.cpp

https://invent.kde.org/network/kdeconnect-kde/-/commit/8565bb951a9398fac42d629556f3267da4da2f96

diff --git a/core/backends/lan/landevicelink.cpp b/core/backends/lan/landevicelink.cpp
index 416057776..3bb561102 100644
--- a/core/backends/lan/landevicelink.cpp
+++ b/core/backends/lan/landevicelink.cpp
@@ -6,6 +6,8 @@
 
 #include "landevicelink.h"
 
+#include <QTimer>
+
 #include <KLocalizedString>
 
 #include "backends/linkprovider.h"
@@ -29,14 +31,20 @@ LanDeviceLink::LanDeviceLink(const DeviceInfo &deviceInfo, LanLinkProvider *pare
 void LanDeviceLink::reset(QSslSocket *socket)
 {
     if (m_socket) {
-        disconnect(m_socket, &QAbstractSocket::disconnected, this, &QObject::deleteLater);
+        disconnect(m_socket, &QAbstractSocket::disconnected, this, nullptr);
         delete m_socket;
     }
 
     m_socket = socket;
     socket->setParent(this);
 
-    connect(socket, &QAbstractSocket::disconnected, this, &QObject::deleteLater);
+    connect(socket, &QAbstractSocket::disconnected, this, [this, socket]() {
+        QTimer::singleShot(0, this, [this, socket]() {
+            if (m_socket == socket) {
+                delete this;
+            }
+        });
+    });
     connect(socket, &QAbstractSocket::readyRead, this, &LanDeviceLink::dataReceived);
 }
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.