summaryrefslogtreecommitdiff
path: root/sw/source
diff options
context:
space:
mode:
authorNoel Grandin <noel.grandin@collabora.co.uk>2019-11-25 15:55:48 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2019-11-27 08:25:34 +0100
commitb4494f276795d1bb419d258ed0b2ec33c92c7290 (patch)
treef0ede371c13b73a7dc547717507db083b9cf0846 /sw/source
parentb521f14f7c253113061798cb58fc3e565e92cb7d (diff)
tdf#108642 remove dynamic_cast
use virtual method instead. Takes the opening time from 10.5s to 9.2s for me. Change-Id: I015c05b112dd7e8b7ea3ef722e082d25a3062cce Reviewed-on: https://gerrit.libreoffice.org/83847 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'sw/source')
-rw-r--r--sw/source/core/inc/cellfrm.hxx3
-rw-r--r--sw/source/core/inc/frame.hxx4
-rw-r--r--sw/source/core/layout/tabfrm.cxx16
3 files changed, 17 insertions, 6 deletions
diff --git a/sw/source/core/inc/cellfrm.hxx b/sw/source/core/inc/cellfrm.hxx
index 4e293a601f45..43de64d2adf6 100644
--- a/sw/source/core/inc/cellfrm.hxx
+++ b/sw/source/core/inc/cellfrm.hxx
@@ -55,6 +55,9 @@ public:
SwCellFrame* GetFollowCell() const;
SwCellFrame* GetPreviousCell() const;
+ virtual bool IsLeaveUpperAllowed() const override;
+ virtual bool IsCoveredCell() const override;
+
// used for rowspan stuff:
const SwCellFrame& FindStartEndOfRowSpanCell( bool bStart ) const;
long GetLayoutRowSpan() const;
diff --git a/sw/source/core/inc/frame.hxx b/sw/source/core/inc/frame.hxx
index 38d1026706bc..a16deaf02094 100644
--- a/sw/source/core/inc/frame.hxx
+++ b/sw/source/core/inc/frame.hxx
@@ -891,8 +891,8 @@ public:
// NEW TABLES
// Some functions for covered/covering table cells. This way unnecessary
// includes can be avoided
- bool IsLeaveUpperAllowed() const;
- bool IsCoveredCell() const;
+ virtual bool IsLeaveUpperAllowed() const;
+ virtual bool IsCoveredCell() const;
bool IsInCoveredCell() const;
// #i81146# new loop control
diff --git a/sw/source/core/layout/tabfrm.cxx b/sw/source/core/layout/tabfrm.cxx
index b7ffcceabdd5..1327dfbbe755 100644
--- a/sw/source/core/layout/tabfrm.cxx
+++ b/sw/source/core/layout/tabfrm.cxx
@@ -5694,14 +5694,22 @@ SwTwips SwTabFrame::CalcHeightOfFirstContentLine() const
bool SwFrame::IsLeaveUpperAllowed() const
{
- const SwCellFrame* pThisCell = dynamic_cast<const SwCellFrame*>(this);
- return pThisCell && pThisCell->GetLayoutRowSpan() > 1;
+ return false;
+}
+
+bool SwCellFrame::IsLeaveUpperAllowed() const
+{
+ return GetLayoutRowSpan() > 1;
}
bool SwFrame::IsCoveredCell() const
{
- const SwCellFrame* pThisCell = dynamic_cast<const SwCellFrame*>(this);
- return pThisCell && pThisCell->GetLayoutRowSpan() < 1;
+ return false;
+}
+
+bool SwCellFrame::IsCoveredCell() const
+{
+ return GetLayoutRowSpan() < 1;
}
bool SwFrame::IsInCoveredCell() const