From 8a7b1d7a0045087f0361549fbf73873239b4ea6b Mon Sep 17 00:00:00 2001 From: Jarek Kobus Date: Wed, 30 Nov 2022 08:49:07 +0100 Subject: [PATCH] AdvancedDockingSystem: Add const reference into range-for loops (cherry picked from commit 0a8c1d6e85de2ac4d73145886cf8a593f90de171) Change-Id: I623e6d315180596c0dcd5bf09982e27428b4674a Reviewed-by: Tim Jenssen --- .../advanceddockingsystem/dockmanager.cpp | 21 +++++++------------ 1 file changed, 8 insertions(+), 13 deletions(-) diff --git a/src/libs/advanceddockingsystem/dockmanager.cpp b/src/libs/advanceddockingsystem/dockmanager.cpp index 5771241dc33..e5daf2c611f 100644 --- a/src/libs/advanceddockingsystem/dockmanager.cpp +++ b/src/libs/advanceddockingsystem/dockmanager.cpp @@ -106,13 +106,15 @@ namespace ADS void hideFloatingWidgets() { // Hide updates of floating widgets from user - for (auto floatingWidget : std::as_const(m_floatingWidgets)) - floatingWidget->hide(); + for (const auto &floatingWidget : std::as_const(m_floatingWidgets)) { + if (floatingWidget) + floatingWidget->hide(); + } } void markDockWidgetsDirty() { - for (auto dockWidget : std::as_const(m_dockWidgetsMap)) + for (const auto &dockWidget : std::as_const(m_dockWidgetsMap)) dockWidget->setProperty("dirty", true); } @@ -328,18 +330,11 @@ namespace ADS // Using a temporal vector since the destructor of // FloatingDockWidgetContainer alters d->m_floatingWidgets. - std::vector aboutToDeletes; - for (auto floatingWidget : std::as_const(d->m_floatingWidgets)) { + const auto copy = d->m_floatingWidgets; + for (const auto &floatingWidget : copy) { if (floatingWidget) - aboutToDeletes.push_back(floatingWidget); + delete floatingWidget.get(); } - - for (auto del : aboutToDeletes) { - delete del; - } - - d->m_floatingWidgets.clear(); - delete d; }