summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Stahl <Michael.Stahl@cib.de>2019-10-11 14:42:12 +0200
committerMichael Stahl <michael.stahl@cib.de>2019-10-14 10:57:01 +0200
commita77321a07695c067662885eea5369e3c821dccb0 (patch)
tree3b9a39fe400fda9397b7b528e113be112581cad5
parent307b39ac9ced9a31157f9ec7ec1b125fe3f34779 (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.cxx9
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)