diff options
author | Michael Stahl <Michael.Stahl@cib.de> | 2019-10-11 14:42:12 +0200 |
---|---|---|
committer | Michael Stahl <michael.stahl@cib.de> | 2019-10-14 10:57:01 +0200 |
commit | a77321a07695c067662885eea5369e3c821dccb0 (patch) | |
tree | 3b9a39fe400fda9397b7b528e113be112581cad5 | |
parent | 307b39ac9ced9a31157f9ec7ec1b125fe3f34779 (diff) |
sw: deleteFieldmarkAt() should just call getFieldmarkAt()
dynamic_cast isn't a performance problem here.
Change-Id: I7d90025051a428588479bb1431dd8bac292f5c49
Reviewed-on: https://gerrit.libreoffice.org/80672
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@cib.de>
-rw-r--r-- | sw/source/core/doc/docbm.cxx | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/sw/source/core/doc/docbm.cxx b/sw/source/core/doc/docbm.cxx index 1d61f2ac65e7..880943fd6560 100644 --- a/sw/source/core/doc/docbm.cxx +++ b/sw/source/core/doc/docbm.cxx @@ -1284,14 +1284,11 @@ namespace sw { namespace mark void MarkManager::deleteFieldmarkAt(const SwPosition& rPos) { - auto const pFieldmark = find_if( - m_vFieldmarks.begin(), - m_vFieldmarks.end(), - [&rPos] (const ::sw::mark::IMark* pMark) { return pMark->IsCoveringPosition(rPos); } ); - if(pFieldmark == m_vFieldmarks.end()) + auto const pFieldmark = dynamic_cast<Fieldmark*>(getFieldmarkAt(rPos)); + if (!pFieldmark) return; - deleteMark(lcl_FindMark(m_vAllMarks, *pFieldmark)); + deleteMark(lcl_FindMark(m_vAllMarks, pFieldmark)); } ::sw::mark::IFieldmark* MarkManager::changeFormFieldmarkType(::sw::mark::IFieldmark* pFieldmark, const OUString& rNewType) |