svl/source/notify/lstner.cxx | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-)
New commits: commit 7fe443e1f3f235cd6f0f04e4956616464ca5f80f Author: Mike Kaganski <mike.kagan...@collabora.com> AuthorDate: Wed Jan 15 09:22:45 2025 +0100 Commit: Mike Kaganski <mike.kagan...@collabora.com> CommitDate: Wed Jan 15 13:10:00 2025 +0100 SfxListener::RemoveBroadcaster_Impl must handle duplicates SfxListener::StartListening explicitly allows duplicates. RemoveBroadcaster_Impl should be safe in that regard; use std::erase to remove all occurrences of the broadcaster. Change-Id: Icc4d1d12c450a0893e9e4da429120f32388b35fa Reviewed-on: https://gerrit.libreoffice.org/c/core/+/180262 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kagan...@collabora.com> diff --git a/svl/source/notify/lstner.cxx b/svl/source/notify/lstner.cxx index 40a59960a0d3..2d582c31f998 100644 --- a/svl/source/notify/lstner.cxx +++ b/svl/source/notify/lstner.cxx @@ -59,13 +59,10 @@ SfxListener::~SfxListener() COVERITY_NOEXCEPT_FALSE void SfxListener::RemoveBroadcaster_Impl( SfxBroadcaster& rBroadcaster ) { - auto it = std::find( maBCs.begin(), maBCs.end(), &rBroadcaster ); - if (it != maBCs.end()) { - maBCs.erase( it ); + std::erase(maBCs, &rBroadcaster); #ifdef DBG_UTIL - maCallStacks.erase( &rBroadcaster ); + maCallStacks.erase( &rBroadcaster ); #endif - } }