desktop/source/app/officeipcthread.cxx | 4 ++-- svx/source/sdr/contact/objectcontact.cxx | 12 +++--------- svx/source/sdr/contact/viewcontact.cxx | 12 +++--------- vcl/unx/gtk/gtksalframe.cxx | 4 ++-- 4 files changed, 10 insertions(+), 22 deletions(-)
New commits: commit d49e2e46099e3599bdc8d81efe9ee8bd1cdcb6ee Author: Noel Grandin <noel.gran...@collabora.co.uk> AuthorDate: Wed Dec 12 10:47:46 2018 +0200 Commit: Noel Grandin <noel.gran...@collabora.co.uk> CommitDate: Wed Dec 12 10:55:57 2018 +0100 use std::<some_container>::swap, instead of copy and clear Change-Id: If49c33e271426ff5c2d0c6cc4010670f797bdd38 Reviewed-on: https://gerrit.libreoffice.org/65001 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk> diff --git a/desktop/source/app/officeipcthread.cxx b/desktop/source/app/officeipcthread.cxx index 80432dd12d3f..3b7ba4633d06 100644 --- a/desktop/source/app/officeipcthread.cxx +++ b/desktop/source/app/officeipcthread.cxx @@ -1343,8 +1343,8 @@ bool RequestHandler::ExecuteCmdLineRequests( pGlobal->mpDispatchWatcher); // copy for execute - std::vector<DispatchWatcher::DispatchRequest> aTempList( aDispatchList ); - aDispatchList.clear(); + std::vector<DispatchWatcher::DispatchRequest> aTempList; + aTempList.swap( aDispatchList ); aGuard.clear(); diff --git a/svx/source/sdr/contact/objectcontact.cxx b/svx/source/sdr/contact/objectcontact.cxx index 058c5ddce7d6..09fc1f8015d6 100644 --- a/svx/source/sdr/contact/objectcontact.cxx +++ b/svx/source/sdr/contact/objectcontact.cxx @@ -66,20 +66,14 @@ ObjectContact::~ObjectContact() COVERITY_NOEXCEPT_FALSE // #i84257# To avoid that each 'delete pCandidate' again uses // the local RemoveViewObjectContact with a search and removal in the // vector, simply copy and clear local vector. - std::vector< ViewObjectContact* > aLocalVOCList(maViewObjectContactVector); - maViewObjectContactVector.clear(); - - while(!aLocalVOCList.empty()) - { - ViewObjectContact* pCandidate = aLocalVOCList.back(); - aLocalVOCList.pop_back(); - DBG_ASSERT(pCandidate, "Corrupted ViewObjectContactList (!)"); + std::vector< ViewObjectContact* > aLocalVOCList; + aLocalVOCList.swap(maViewObjectContactVector); + for (auto & pCandidate : aLocalVOCList) // ViewObjectContacts only make sense with View and Object contacts. // When the contact to the SdrObject is deleted like in this case, // all ViewObjectContacts can be deleted, too. delete pCandidate; - } // assert when there were new entries added during deletion DBG_ASSERT(maViewObjectContactVector.empty(), "Corrupted ViewObjectContactList (!)"); diff --git a/svx/source/sdr/contact/viewcontact.cxx b/svx/source/sdr/contact/viewcontact.cxx index 178c50f22bc1..d87e052b9436 100644 --- a/svx/source/sdr/contact/viewcontact.cxx +++ b/svx/source/sdr/contact/viewcontact.cxx @@ -55,20 +55,14 @@ void ViewContact::deleteAllVOCs() // #i84257# To avoid that each 'delete pCandidate' again uses // the local RemoveViewObjectContact with a search and removal in the // vector, simply copy and clear local vector. - std::vector< ViewObjectContact* > aLocalVOCList(maViewObjectContactVector); - maViewObjectContactVector.clear(); - - while(!aLocalVOCList.empty()) - { - ViewObjectContact* pCandidate = aLocalVOCList.back(); - aLocalVOCList.pop_back(); - DBG_ASSERT(pCandidate, "Corrupted ViewObjectContactList in VC (!)"); + std::vector< ViewObjectContact* > aLocalVOCList; + aLocalVOCList.swap(maViewObjectContactVector); + for (auto & pCandidate : aLocalVOCList) // ViewObjectContacts only make sense with View and Object contacts. // When the contact to the SdrObject is deleted like in this case, // all ViewObjectContacts can be deleted, too. delete pCandidate; - } // assert when there were new entries added during deletion DBG_ASSERT(maViewObjectContactVector.empty(), "Corrupted ViewObjectContactList in VC (!)"); diff --git a/vcl/unx/gtk/gtksalframe.cxx b/vcl/unx/gtk/gtksalframe.cxx index a4e6e0fdcd2d..8b420b49793f 100644 --- a/vcl/unx/gtk/gtksalframe.cxx +++ b/vcl/unx/gtk/gtksalframe.cxx @@ -2473,8 +2473,8 @@ void GtkSalFrame::createNewWindow( ::Window aNewParent, bool bXEmbed, SalX11Scre if( bWasVisible ) Show( true ); - std::list< GtkSalFrame* > aChildren = m_aChildren; - m_aChildren.clear(); + std::list< GtkSalFrame* > aChildren; + aChildren.swap(m_aChildren); for (auto const& child : aChildren) child->createNewWindow( None, false, m_nXScreen ); _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits