diff options
author | Noel Grandin <noel.grandin@collabora.co.uk> | 2021-08-24 09:59:43 +0200 |
---|---|---|
committer | Noel Grandin <noel.grandin@collabora.co.uk> | 2021-08-24 12:47:52 +0200 |
commit | 35fa0a7369d6ba3a051923c4f813107c16d2c617 (patch) | |
tree | 976fccddf7ac0b3d750230eb41f9bc0091013e6b /sw/source/core/layout/laycache.cxx | |
parent | 1fd9116fbcd1a8d25f964087cd1d0eb15df8a2d1 (diff) |
reduce cost of dynamic casting to SwFlyFrame
which is often hot on doing document layout
Change-Id: Ie78b6a6da4dba38b4ab682f4e1b9d86cc8171918
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120938
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'sw/source/core/layout/laycache.cxx')
-rw-r--r-- | sw/source/core/layout/laycache.cxx | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sw/source/core/layout/laycache.cxx b/sw/source/core/layout/laycache.cxx index 1e4ae047b5fc..9af0d23ac69f 100644 --- a/sw/source/core/layout/laycache.cxx +++ b/sw/source/core/layout/laycache.cxx @@ -287,7 +287,7 @@ void SwLayoutCache::Write( SvStream &rStream, const SwDoc& rDoc ) SwSortedObjs &rObjs = *pPage->GetSortedObjs(); for (SwAnchoredObject* pAnchoredObj : rObjs) { - if (SwFlyFrame *pFly = dynamic_cast<SwFlyFrame*>(pAnchoredObj)) + if (SwFlyFrame *pFly = pAnchoredObj->DynCastFlyFrame()) { if( pFly->getFrameArea().Left() != FAR_AWAY && !pFly->GetAnchorFrame()->FindFooterOrHeader() ) @@ -1001,7 +1001,7 @@ void SwLayHelper::CheckFlyCache_( SwPageFrame* pPage ) o3tl::sorted_vector< const SdrObject*, SdrObjectCompare > aFlySet; for (SwAnchoredObject* pAnchoredObj : rObjs) { - if (SwFlyFrame *pFly = dynamic_cast<SwFlyFrame*>(pAnchoredObj)) // a text frame? + if (SwFlyFrame *pFly = pAnchoredObj->DynCastFlyFrame()) // a text frame? { if( pFly->GetAnchorFrame() && !pFly->GetAnchorFrame()->FindFooterOrHeader() ) |