projects
/
nextcloud-desktop.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
0eebd77
)
SocketAPI: Remove listener immediately on lost connection
author
Christian Kamm
<mail@ckamm.de>
Thu, 17 Jan 2019 09:21:22 +0000
(10:21 +0100)
committer
Kevin Ottens
<kevin.ottens@nextcloud.com>
Tue, 15 Dec 2020 09:58:36 +0000
(10:58 +0100)
To avoid situations where messages are attempted to be sent to dead
connections.
src/gui/socketapi.cpp
patch
|
blob
|
history
diff --git
a/src/gui/socketapi.cpp
b/src/gui/socketapi.cpp
index ac1aea1a2340752eb218d1c99c3e8bc64d290120..a420332115fc577b0a9db1c96b1798de8816e981 100644
(file)
--- a/
src/gui/socketapi.cpp
+++ b/
src/gui/socketapi.cpp
@@
-270,6
+270,10
@@
void SocketApi::onLostConnection()
{
qCInfo(lcSocketApi) << "Lost connection " << sender();
sender()->deleteLater();
+
+ auto socket = qobject_cast<QIODevice *>(sender());
+ ASSERT(socket);
+ _listeners.erase(std::remove_if(_listeners.begin(), _listeners.end(), ListenerHasSocketPred(socket)), _listeners.end());
}
void SocketApi::slotSocketDestroyed(QObject *obj)