svx/source/svdraw/svdpage.cxx |   11 +++--------
 1 file changed, 3 insertions(+), 8 deletions(-)

New commits:
commit d72f3d480eaffd8bd6d14fe60f01c995886cf317
Author:     Noel Grandin <noel.gran...@collabora.co.uk>
AuthorDate: Wed May 3 10:47:43 2023 +0200
Commit:     Noel Grandin <noel.gran...@collabora.co.uk>
CommitDate: Wed May 3 12:47:49 2023 +0200

    tdf#137544 simplify SdrObjList destructor
    
    by allowing the maList to destruct naturally, it deletes the objects
    from first to last. This speeds up the search process when these objects
    remove themselves from broadcasters.
    
    Change-Id: I0534b39bc82b24d0e4245773e105a77bce735c9a
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151315
    Tested-by: Jenkins
    Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk>

diff --git a/svx/source/svdraw/svdpage.cxx b/svx/source/svdraw/svdpage.cxx
index e685c40c89a5..351278cf789c 100644
--- a/svx/source/svdraw/svdpage.cxx
+++ b/svx/source/svdraw/svdpage.cxx
@@ -112,14 +112,9 @@ void SdrObjList::ClearSdrObjList()
 
 SdrObjList::~SdrObjList()
 {
-    // clear SdrObjects without broadcasting
-    while(!maList.empty())
-    {
-        // remove last object from list
-        SdrObject& rObj = *maList.back();
-        rObj.setParentOfSdrObject(nullptr);
-        maList.pop_back();
-    }
+    // Clear SdrObjects without broadcasting.
+    for (auto& rxObj : maList)
+        rxObj->setParentOfSdrObject(nullptr);
 }
 
 SdrPage* SdrObjList::getSdrPageFromSdrObjList() const

Reply via email to