diff options
author | Marc Mutz <marc.mutz@kdab.com> | 2019-05-17 11:38:48 +0200 |
---|---|---|
committer | Marc Mutz <marc.mutz@kdab.com> | 2019-05-17 11:45:47 +0200 |
commit | c5e889bf90b255db3597cbcb5e21e8843f4b5365 (patch) | |
tree | fd6b27a8a58dd36bce56e61b80148ea308161881 | |
parent | 993863c4527f0565a77d7728446f954732a3c2b8 (diff) |
Use some qExchange()
This makes the code more compact and avoids any doubts regarding
accesses to the underlying container under iteration, if any.
Change-Id: I6cf8a6113f182ae5c4401cb44fce2a3904c67489
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
-rw-r--r-- | src/client/qwaylanddisplay.cpp | 6 | ||||
-rw-r--r-- | tests/auto/client/shared_old/mocksurface.cpp | 3 |
2 files changed, 3 insertions, 6 deletions
diff --git a/src/client/qwaylanddisplay.cpp b/src/client/qwaylanddisplay.cpp index 41bdf6b05..53f5cfcea 100644 --- a/src/client/qwaylanddisplay.cpp +++ b/src/client/qwaylanddisplay.cpp @@ -167,13 +167,11 @@ QWaylandDisplay::~QWaylandDisplay(void) if (mSyncCallback) wl_callback_destroy(mSyncCallback); - qDeleteAll(mInputDevices); - mInputDevices.clear(); + qDeleteAll(qExchange(mInputDevices, {})); - foreach (QWaylandScreen *screen, mScreens) { + for (QWaylandScreen *screen : qExchange(mScreens, {})) { QWindowSystemInterface::handleScreenRemoved(screen); } - mScreens.clear(); qDeleteAll(mWaitingScreens); #if QT_CONFIG(wayland_datadevice) diff --git a/tests/auto/client/shared_old/mocksurface.cpp b/tests/auto/client/shared_old/mocksurface.cpp index 81a5edbd0..e9df5f907 100644 --- a/tests/auto/client/shared_old/mocksurface.cpp +++ b/tests/auto/client/shared_old/mocksurface.cpp @@ -149,11 +149,10 @@ void Surface::surface_commit(Resource *resource) } } - foreach (wl_resource *frameCallback, m_frameCallbackList) { + for (wl_resource *frameCallback : qExchange(m_frameCallbackList, {})) { wl_callback_send_done(frameCallback, m_compositor->time()); wl_resource_destroy(frameCallback); } - m_frameCallbackList.clear(); } } |