aboutsummaryrefslogtreecommitdiff
path: root/src/server/QXmppServer.cpp
diff options
context:
space:
mode:
authorLinus Jahn <lnj@kaidan.im>2022-03-13 01:09:24 +0100
committerLinus Jahn <lnj@kaidan.im>2022-03-13 02:11:14 +0100
commit063d7fa9360899aa33b5891df15a2b9f4840f392 (patch)
tree4cdb4d1308eb71d2acfeea1a8d47ed1e9b716bd1 /src/server/QXmppServer.cpp
parent00908fb3477c8e983bcd82dc33d3d1f380143b39 (diff)
Fix possibly detaching containers
Diffstat (limited to 'src/server/QXmppServer.cpp')
-rw-r--r--src/server/QXmppServer.cpp15
1 files changed, 10 insertions, 5 deletions
diff --git a/src/server/QXmppServer.cpp b/src/server/QXmppServer.cpp
index bb579eeb..848905de 100644
--- a/src/server/QXmppServer.cpp
+++ b/src/server/QXmppServer.cpp
@@ -126,8 +126,9 @@ bool QXmppServerPrivate::routeData(const QString &to, const QByteArray &data)
}
// send data
- for (auto *conn : found)
+ for (auto *conn : std::as_const(found)) {
QMetaObject::invokeMethod(conn, "sendData", Q_ARG(QByteArray, data));
+ }
return !found.isEmpty();
} else if (!serversForServers.isEmpty()) {
@@ -240,7 +241,8 @@ void QXmppServerPrivate::warning(const QString &message)
void QXmppServerPrivate::loadExtensions(QXmppServer *server)
{
if (!loaded) {
- for (auto *object : QPluginLoader::staticInstances()) {
+ const auto pluginLoaders = QPluginLoader::staticInstances();
+ for (auto *object : pluginLoaders) {
auto *plugin = qobject_cast<QXmppServerPlugin *>(object);
if (!plugin)
continue;
@@ -258,9 +260,10 @@ void QXmppServerPrivate::loadExtensions(QXmppServer *server)
void QXmppServerPrivate::startExtensions()
{
if (!started) {
- for (auto *extension : extensions)
+ for (auto *extension : std::as_const(extensions)) {
if (!extension->start())
warning(QString("Could not start extension %1").arg(extension->extensionName()));
+ }
started = true;
}
}
@@ -567,10 +570,12 @@ void QXmppServer::close()
QSetIterator<QXmppIncomingClient *> itr(d->incomingClients);
while (itr.hasNext())
itr.next()->disconnectFromHost();
- for (auto *stream : d->incomingServers)
+ for (auto *stream : std::as_const(d->incomingServers)) {
stream->disconnectFromHost();
- for (auto *stream : d->outgoingServers)
+ }
+ for (auto *stream : std::as_const(d->outgoingServers)) {
stream->disconnectFromHost();
+ }
}
/// Listen for incoming XMPP server connections.