tst_qdbusconnection: iterate over member container directly
The loops don't change the m_connections container. The call chain is: - registerObjectPeer() unittest constructs a MyServer, which connects QDBusServer::newConnection to MyServer::handleConnection(), the latter stores each new connection's name in m_connections - An QTestEventLoop is entered, which triggers handleConnection(), handleConnection() calls exitLoop() at the bottom (this is repeated multiple times) - server.unregisterObject() is called, iterating over m_connections - server.registerObject() is called iterating over m_connections - between the unregisterObject() call and the registerObject() calls m_connections is not modified AFAICS Thus no need for taking a copy of m_connections (not that it matters much, it's a QStringList with size() == 3). Change-Id: Idaea2ca4d3b27fc88d39f8434e3817a2a4098c72 Reviewed-by: Marc Mutz <marc.mutz@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
This commit is contained in:
parent
a6274fa39a
commit
d50fd6acfa
@ -164,8 +164,7 @@ public:
|
||||
|
||||
bool registerObject()
|
||||
{
|
||||
const auto copy = m_connections; // needed? Loop doesn't modify, but handleConnection() does
|
||||
for (const QString &name : copy) {
|
||||
for (const QString &name : std::as_const(m_connections)) {
|
||||
if (!registerObject(QDBusConnection(name)))
|
||||
return false;
|
||||
}
|
||||
@ -174,8 +173,7 @@ public:
|
||||
|
||||
void unregisterObject()
|
||||
{
|
||||
const auto copy = m_connections; // needed? Loop doesn't modify, but handleConnection() does
|
||||
for (const QString &name : copy) {
|
||||
for (const QString &name : std::as_const(m_connections)) {
|
||||
QDBusConnection c(name);
|
||||
c.unregisterObject(m_path);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user